130 votes

Comment déterminer la version de Webpack installée

Particulièrement pendant la transition de webpack v1 à v2, il serait important de déterminer de manière programmée quelle version de webpack est installée, mais je ne semble pas trouver l'API appropriée.

198voto

Ricky Points 8950

Version Installée :

En utilisant webpack CLI : (--version, -v Afficher le numéro de version [booléen])

webpack --version

ou :

webpack -v

En utilisant la commande npm list :

npm list webpack

Résultats en nom@plage-de-version :

@ /chemin/vers/projet
 webpack@

En utilisant la commande yarn list :

yarn list webpack

Comment le faire de manière programmatique ?

Webpack 2 a introduit les Types de Configuration.

Au lieu d'exporter un objet de configuration, vous pouvez retourner une fonction qui accepte un environnement en argument. Lors de l'exécution de webpack, vous pouvez spécifier les clés d'environnement de construction via --env, telles que --env.production ou --env.platform=web.

Nous utiliserons une clé d'environnement de construction appelée --env.version.

webpack --env.version $(webpack --version)

ou :

webpack --env.version $(webpack -v)

Pour que cela fonctionne, nous devrons faire deux choses :

Changer notre fichier webpack.config.js et utiliser DefinePlugin.

Le DefinePlugin vous permet de créer des constantes globales qui peuvent être configurées au moment de la compilation.

-module.exports = {
+module.exports = function(env) {
+  return {
    plugins: [
      new webpack.DefinePlugin({
+        WEBPACK_VERSION: JSON.stringify(env.version) //
      })
    ]
+  };
};

Maintenant, nous pouvons accéder à la constante globale de cette manière :

console.log(WEBPACK_VERSION);

Dernière version disponible :

En utilisant la commande npm view, vous obtiendrez la dernière version disponible dans le registre :

npm view [<@scope>/][@] [[.]...]


Pour webpack, utilisez :

npm view webpack version

3 votes

Alors webpack n'a pas d'API qui renvoie sa version et je dois utiliser une commande shell?

1 votes

Ce travail fonctionne bien via la CLI.... mais comment le faire de manière programmée ? (alias : à l'intérieur d'un fichier de script)

0 votes

J'ai inclus un moyen d'extraire de manière programmée la version de webpack et de l'utiliser comme une constante globale dans n'importe quel fichier.

24voto

Isaac Pak Points 855

Juste une autre façon non mentionnée encore:

Si vous l'avez installé localement dans un projet, ouvrez le dossier node_modules et vérifiez votre module webpack.

< /node_modules/webpack/package.json

Ouvrez le fichier package.json et regardez sous la version

saisissez ici la description de l'image

2 votes

Je suis sûr que vous pouvez cd dans un fichier

0 votes

@sportzpikachu mis à jour!

23voto

gates Points 1665

Pour ceux qui utilisent yarn

yarn list webpack fera l'affaire

$ yarn list webpack
yarn list v0.27.5
 webpack@2.6.1
Effectué en 1.24s.

9voto

doberkofler Points 2088

Webpack 4 propose désormais une propriété version qui peut être utilisée !

3 votes

Ce que cela signifie, c'est que partout où vous avez la variable webpack fournie (comme dans votre fichier de configuration), vous pouvez simplement appeler webpack.version et vous obtiendrez une chaîne de version de la forme "x.y.z".

9voto

trebor Points 371

Si vous utilisez Angular CLI v7+, la version de webpack est affichée dans la sortie de ng version:

-> ng version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   /  \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 7.0.6
Node: 11.0.0
OS: darwin x64
Angular: 7.1.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.10.6
@angular-devkit/build-angular     0.10.6
@angular-devkit/build-optimizer   0.10.6
@angular-devkit/build-webpack     0.10.6
@angular-devkit/core              7.0.6
@angular-devkit/schematics        7.0.6
@angular/cli                      7.0.6
@ngtools/webpack                  7.0.6
@schematics/angular               7.0.6
@schematics/update                0.10.6
rxjs                              6.3.3
typescript                        3.1.6
webpack                           4.19.1

3 votes

En angular 10, webpack n'est pas répertorié avec ng version. Si vous utilisez une configuration webpack personnalisée avec @angular-builders/custom-webpack, essayez npm list webpack, il m'a montré la version utilisée de webpack.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X