尤其是在从webpack v1到v2的过渡期间,以编程方式确定所安装的webpack版本非常重要,但是我似乎找不到合适的API。
如何确定已安装的Webpack版本
对于那些正在使用 yarn
yarn list webpack
会成功的
$ yarn list webpack
yarn list v0.27.5
└─ webpack@2.6.1
Done in 1.24s.
安装版本:
使用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。
The DefinePlugin allows you to create global constants which can be configured at compile time.
-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);
Latest version available:
Using npm view command will return the latest version available on the registry:
npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
For webpack use:
npm view webpack version
webpack 4现在提供了可以使用的version属性!