如何确定已安装的 webpack 版本

特别是在从 webpack v1到 v2的转换过程中,通过编程方式确定安装了什么样的 网络包版本非常重要,但是我似乎找不到合适的 API。

212348 次浏览

安装版本:

使用 < strong > webpack CLI : (--version, -v Show version number [boolean])

webpack --version

或:

webpack -v

使用 npm 列表 命令:

npm list webpack

name@version-range测试结果:

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

使用 纱单命令:

yarn list webpack

如何通过编程实现?

Webpack 2引入了 Configuration Types

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

我们将使用一个名为 --env.version的构建环境密钥。

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

或:

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

For this to work we will need to do two things:

更改 webpack.config.js文件并使用 < strong > DefePlugin

DefePlugin 允许您创建全局常量,这些常量可以是 在编译时配置。

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

Now we can access the global constant like so:

console.log(WEBPACK_VERSION);

最新版本:

使用 < strong > npm view 命令将返回注册表中可用的最新版本:

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


使用网络包:

npm view webpack version

对于那些使用 yarn的人

yarn list webpack就行了

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

Webpack 4现在提供了一个可以使用的版本属性!

如果使用 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

只是还有一种方式没有被提及:

如果您在本地将它安装到一个项目中,那么打开 node _ module 文件夹并检查 webpack 模块。

< /node_modules/webpack/package.json

打开 package.json 文件并查看 version

enter image description here

webpack -v放进你的 包裹 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

在 CLI

$ webpack --version
    

webpack-cli 4.1.0
    

webpack 5.3.2

在代码(节点运行库)中

process.env.npm_package_devDependencies_webpack // ^5.3.2

or

process.env.npm_package_dependencies_webpack // ^5.3.2

插件

compiler.webpack.version // 5.3.2

Npm 网络包-版本

对我有用,它会抛出这样的东西:

PS C: 用户 alfon OneDrive Escitorio 沙盒 fimusicv4 with-redux-app > npm webpack-version 不推荐使用 npm WARN 配置全局 --global--local。改为使用 --location=global8.5