Insbesondere beim Übergang von Webpack v1 zu v2 wäre es wichtig, programmgesteuert zu bestimmen, welche Webpack- Version installiert ist, aber ich kann anscheinend keine geeignete API finden.
Verwenden der Webpack-CLI :(--version, -v Show version number [boolean])
webpack --version
oder:
webpack -v
Verwenden des Befehls npm list :
npm list webpack
Ergebnisse in name@version-range
:
<projectName>@<projectVersion> /path/to/project
└── webpack@<version-range>
Verwenden des Garnlistenbefehls :
yarn list webpack
Webpack 2 führte Konfigurationstypen ein .
Anstatt ein Konfigurationsobjekt zu exportieren, können Sie eine Funktion zurückgeben, die eine Umgebung als Argument akzeptiert. Wenn webpack ausgeführt wird , können Sie Bauumgebung Schlüssel über angeben
--env
, wie--env.production
oder--env.platform=web
.
Wir werden einen Build-Umgebungsschlüssel namens verwenden --env.version
.
webpack --env.version $(webpack --version)
oder:
webpack --env.version $(webpack -v)
Damit dies funktioniert, müssen wir zwei Dinge tun:
Ändern Sie unsere webpack.config.js
Datei und verwenden Sie DefinePlugin .
Mit dem DefinePlugin können Sie globale Konstanten erstellen, die zur Kompilierungszeit konfiguriert werden können.
-module.exports = {
+module.exports = function(env) {
+ return {
plugins: [
new webpack.DefinePlugin({
+ WEBPACK_VERSION: JSON.stringify(env.version) //<version-range>
})
]
+ };
};
Jetzt können wir wie folgt auf die globale Konstante zugreifen:
console.log(WEBPACK_VERSION);
Mit dem Befehl npm view wird die neueste Version zurückgegeben, die in der Registrierung verfügbar ist:
npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
Für das Webpack verwenden:
npm view webpack version
npx webpack --version
webpack -v
da dies voraussetzt, dass Ihre aktuelle Shell mitwebpack
der in Ihrem Programm ausgeführten identisch ist.Für diejenigen, die verwenden
yarn
yarn list webpack
wird den Trick machen$ yarn list webpack yarn list v0.27.5 └─ webpack@2.6.1 Done in 1.24s.
quelle
Nur ein anderer Weg, der noch nicht erwähnt wurde:
Wenn Sie es lokal in einem Projekt installiert haben, öffnen Sie den Ordner node_modules und überprüfen Sie Ihr Webpack-Modul.
$cd /node_modules/webpack/package.json
Öffnen Sie die Datei package.json und suchen Sie unter Version
quelle
webpack 4 bietet jetzt eine Versionseigenschaft, die verwendet werden kann!
quelle
webpack
Variable bereitgestellt haben (wie in Ihrer Setup- / Konfigurationsdatei), einfach aufrufen könnenwebpack.version
und eine Versionszeichenfolge des Formulars zurückerhalten"x.y.z"
.Wenn Sie Angular CLI v7 + verwenden, wird die Webpack-Version in der Ausgabe von
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
quelle
Fügen Sie
webpack -v
in Ihr package.json ein :{ "name": "js", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "webpack -v", "dev": "webpack --watch" } }
Dann geben Sie in die Konsole:
Die erwartete Ausgabe sollte folgendermaßen aussehen:
> npm run build > js@1.0.0 build /home/user/repositories/myproject/js > webpack -v 4.42.0
quelle
In der CLI
$ webpack --version webpack-cli 4.1.0 webpack 5.3.2
Im Code (Knotenlaufzeit)
process.env.npm_package_devDependencies_webpack // ^5.3.2
oder
process.env.npm_package_dependencies_webpack // ^5.3.2
Im Plugin
compiler.webpack.version // 5.3.2
quelle