attribute javascript node.js webpack webpack-2 webpack-3

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


Solo otra forma aún no mencionada:

Si lo instaló localmente en un proyecto, abra la carpeta node_modules y verifique su módulo de paquete web.

$cd /node_modules/webpack/package.json

Abra el archivo package.json y busque la versión