web-dev-qa-db-fra.com

Comment déterminer la version de Webpack installée

En particulier lors de la transition de Webpack v1 à v2, il serait important de déterminer par programme quelle version de webpack est installée, mais je n'arrive pas à trouver l'API appropriée.

55
doberkofler

webpack 4 offre maintenant une propriété de version qui peut être utilisée!

3
doberkofler

Version installée:

Utilisation de CLI webpack : (--version, -v Show version number [boolean])

webpack --version

ou:

webpack -v

Utilisation de npm list commande:

npm list webpack

Résultats dans name@version-range:

<projectName>@<projectVersion> /path/to/project
└── webpack@<version-range>

Utilisation de liste de fils commande:

yarn list webpack

Comment le faire par programme?

Webpack 2 introduit Types de configuration .

Au lieu d'exporter un objet de configuration, vous pouvez renvoyer une fonction qui accepte un environnement en tant qu'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 allons utiliser 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:

Changez notre fichier webpack.config.js et utilisez DefinePlugin .

DefinePlugin vous permet de créer des constantes globales pouvant être configurées lors de la compilation.

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

Nous pouvons maintenant accéder à la constante globale comme suit:

console.log(WEBPACK_VERSION);

Dernière version disponible:

En utilisant npm view la commande retournera la dernière version disponible dans le registre:

npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]


Pour l'utilisation du webpack:

npm view webpack version
95
Ricky

Pour ceux qui utilisent yarn

yarn list webpack fera l'affaire

$ yarn list webpack
yarn list v0.27.5
└─ [email protected]
Done in 1.24s.
14
gates

Juste une autre manière pas encore mentionnée:

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

$cd /node_modules/webpack/package.json

Ouvrez le fichier package.json et regardez sous version

enter image description here

2
Isaac Pak

Si vous utilisez Angular CLI v7 +, la version du pack Web est imprimée dans le résultat 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
0
trebor