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.
webpack 4 offre maintenant une propriété de version qui peut être utilisé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
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);
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
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.
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