javascript - attribute - Cómo determinar la versión instalada del paquete web
title css (5)
Especialmente durante la transición de webpack v1 a v2, sería importante determinar mediante programación qué versión de webpack está instalada, pero parece que no puedo encontrar la API adecuada.
Versión instalada:
Uso de la
CLI de webpack
:
(--version, -v Show version number [boolean])
webpack --version
o:
webpack -v
Usando el comando npm list :
npm list webpack
Resultados en
name@version-range
:
<projectName>@<projectVersion> /path/to/project
└── webpack@<version-range>
Usando el comando de lista de hilos :
yarn list webpack
¿Cómo hacerlo programáticamente?
Webpack 2 introdujo los tipos de configuración .
En lugar de exportar un objeto de configuración, puede devolver una función que acepte un entorno como argumento. Al ejecutar webpack, puede especificar claves de entorno de compilación a través de
--env
, como--env.production
o--env.platform=web
.
Utilizaremos una clave de entorno de compilación llamada
--env.version
.
webpack --env.version $(webpack --version)
o:
webpack --env.version $(webpack -v)
Para que esto funcione, necesitaremos hacer dos cosas:
Cambie nuestro archivo
webpack.config.js
y use
DefinePlugin
.
DefinePlugin le permite crear constantes globales que se pueden configurar en tiempo de compilación.
-module.exports = {
+module.exports = function(env) {
+ return {
plugins: [
new webpack.DefinePlugin({
+ WEBPACK_VERSION: JSON.stringify(env.version) //<version-range>
})
]
+ };
};
Ahora podemos acceder a la constante global de esta manera:
console.log(WEBPACK_VERSION);
Última versión disponible:
El uso del comando npm view devolverá la última versión disponible en el registro:
npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
Para uso de paquete web:
npm view webpack version
¡webpack 4 ahora ofrece una propiedad de versión que se puede usar!
Para aquellos que usan
yarn
yarn list webpack
hará el truco
$ yarn list webpack
yarn list v0.27.5
└─ [email protected]
Done in 1.24s.
Si usa Angular CLI v7 +, la versión del paquete web se imprime en la salida de la
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