So ermitteln Sie die installierte Webpack-Version


Antworten:


120

Installierte Version:

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

Wie geht das programmgesteuert?

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.jsDatei 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);

Neueste verfügbare 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

3
Webpack hat also keine API, die seine Version zurückgibt, und ich muss einen Shell-Befehl verwenden?
— Doberkofler

1
das funktioniert gut über die cli .... aber wie würde man das programmgesteuert machen? (aka: in einer Skriptdatei)
— Maurice

Ich habe eine Möglichkeit aufgenommen, die Version des Webpacks programmgesteuert zu extrahieren und als globale Konstante in einer beliebigen Datei zu verwenden.
— Ricky

Nun, ich musste tippennpx webpack --version
— Paolo

@doberkofler hat die (jetzt richtige) Antwort und sie ist sogar als die richtige Antwort markiert! stackoverflow.com/a/52143627/3221576 Sie können sich nicht darauf verlassen, webpack -vda dies voraussetzt, dass Ihre aktuelle Shell mit webpackder in Ihrem Programm ausgeführten identisch ist.
— KCE

16

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.

7

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

Geben Sie hier die Bildbeschreibung ein


6

webpack 4 bietet jetzt eine Versionseigenschaft, die verwendet werden kann!


1
Dies bedeutet, dass Sie überall dort, wo Sie die webpackVariable bereitgestellt haben (wie in Ihrer Setup- / Konfigurationsdatei), einfach aufrufen können webpack.versionund eine Versionszeichenfolge des Formulars zurückerhalten "x.y.z".
— KCE

5

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

2

Fügen Sie webpack -vin 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:

npm run build

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

0

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.