如何确定已安装的Webpack版本


Answers:


127

安装版本:

使用webpack CLI(--version, -v Show version number [boolean])

webpack --version

要么:

webpack -v

使用npm list命令:

npm list webpack

结果name@version-range

<projectName>@<projectVersion> /path/to/project
└── webpack@<version-range>

使用yarn list命令:

yarn list webpack

如何以编程方式进行?

Webpack 2引入了配置类型

您可以返回一个接受环境作为参数的函数,而不是导出配置对象。当运行的WebPack,您可以通过指定构建环境键--env,如--env.production--env.platform=web

我们将使用称为的构建环境密钥--env.version

webpack --env.version $(webpack --version)

要么:

webpack --env.version $(webpack -v)

为此,我们需要做两件事:

更改我们的webpack.config.js文件并使用DefinePlugin

DefinePlugin允许您创建可以在编译时配置的全局常量。

-module.exports = {
+module.exports = function(env) {
+  return {
    plugins: [
      new webpack.DefinePlugin({
+        WEBPACK_VERSION: JSON.stringify(env.version) //<version-range>
      })
    ]
+  };
};

现在我们可以像这样访问全局常量:

console.log(WEBPACK_VERSION);

可用的最新版本:

使用npm view命令将返回注册表上可用的最新版本:

npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]


对于webpack使用:

npm view webpack version

3
所以webpack没有返回其版本的API,我必须使用shell命令吗?
doberkofler

1
通过cli可以正常工作。...但是如何以编程方式执行此操作?(又名:脚本文件中)
Maurice

我提供了一种以编程方式提取webpack版本并将其用作任何文件中的全局常量的方法。
Ricky

好吧,我不得不输入npx webpack --version
Paolo

@doberkofler有(现在是正确的)答案,甚至被标记为正确答案!stackoverflow.com/a/52143627/3221576 您不能依靠,webpack -v因为它假定您当前的shellwebpack与程序中正在运行的shell相同。
KCE

16

对于那些正在使用 yarn

yarn list webpack 会成功的

$ yarn list webpack
yarn list v0.27.5
└─ webpack@2.6.1
Done in 1.24s.

8

尚未提及的另一种方式:

如果您将其本地安装到项目中,则打开node_modules文件夹并检查您的webpack模块。

$cd /node_modules/webpack/package.json

打开package.json文件并查看版本

在此处输入图片说明


我确定您可以将其cd放入文件
sportzpikachu

6

webpack 4现在提供了可以使用的version属性!


1
这意味着,无论您在何处提供了webpack变量(例如在setup / config文件中),都可以调用,webpack.version然后会得到形式为的版本字符串"x.y.z"
KCE

6

如果使用Angular CLI v7 +,则webpack版本将打印在以下输出中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

在角度10中,webpack没有列出ng version。如果您将自定义webpack配置与一起使用@angular-builders/custom-webpack,请尝试npm list webpack,它会向我显示使用过的webpack版本。
托尼

2

放入webpack -v您的package.json中

{
  "name": "js",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack -v",
    "dev": "webpack --watch"
  }
}

然后在控制台中输入:

npm run build

预期输出应如下所示:

> npm run build

> js@1.0.0 build /home/user/repositories/myproject/js
> webpack -v

4.42.0

0

在CLI中

$ webpack --version
    
webpack-cli 4.1.0
    
webpack 5.3.2

在代码中(节点运行时)

process.env.npm_package_devDependencies_webpack // ^5.3.2

要么

process.env.npm_package_dependencies_webpack // ^5.3.2

在插件中

compiler.webpack.version // 5.3.2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.