如何确定安装的webpack版本
特别是在从webpack v1到v2的过渡期间,以编程方式确定安装什么webpack版本将是非常重要的,但我似乎无法find合适的API。
安装版本:
使用webpack CLI : (--version, -v Show version number [boolean])
webpack --version
要么:
webpack -v
使用npm list命令:
npm ls [[<@scope>/]<pkg> ...]
对于webpack使用:
npm list webpack
结果在name@version-range
:
<projectName>@<projectVersion> /path/to/project └── webpack@<version-range>
如何以编程方式做到这一点?
Webpack 2引入了configurationtypes 。
您可以不用导出configuration对象,而是返回一个接受环境作为参数的函数。 运行webpack时,可以通过
--env
指定构build环境密钥,如--env.production
或--env.platform=web
。
我们将使用名为--env.version
的构build环境键。
webpack --env.version $(webpack --version)
要么:
webpack --env.version $(webpack -v)
为了这个工作,我们需要做两件事情:
更改我们的webpack.config.js
文件并使用DefinePlugin 。
DefinePlugin允许您创build可在编译时configuration的全局常量。
-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命令将返回registry中可用的最新版本:
npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
对于webpack使用:
npm view webpack version
对于那些正在使用yarn
yarn list webpack
将做的伎俩
$ yarn list webpack yarn list v0.27.5 └─ webpack@2.6.1 Done in 1.24s.