我想从命令行传递我的webpack脚本参数
CLI -> NPM -> package.json -> WEBPACK
我发现的大多数帖子仅涉及在package.json中设置参数
package.json -> WEBPACK
我只是无法使其工作
在我的package.json中,我首先尝试了
"build": "webpack -- --test",
"build": "webpack -- test",
"build": "webpack test",
我最终遇到
之类的错误ERROR in Entry module not found: Error: Can't resolve 'test'
ERROR in Entry module not found: Error: Can't resolve '--test'
谢谢
答案 0 :(得分:0)
您可以使用argv节点包来传递命令行参数-https://www.npmjs.com/package/argv
或
您可以通过命令行传递--env = test例如,然后可以导出env函数,该函数返回一个而不是直接返回一个对象 https://webpack.js.org/configuration/configuration-types/#exporting-a-function-to-use-env
样本
可通过--env前缀i传递自定义参数。 e。 --env.compress。比从webpack.config.js导出函数,它使用env参数调用。
module.exports = function(env) {
// ...
if (env.compress === 'true') {
var CompressionPlugin = require('compression-webpack-plugin');
config.plugins.push(
new CompressionPlugin({
asset: '{file}',
algorithm: 'gzip',
regExp: /\.js$|\.html$/
}))
}
}
答案 1 :(得分:0)
答案是
CLI:
npm run build -- --env.something=true
package.json:
"build": "webpack"
webpack.config.js:
module.exports = function(env) {
if (env.something=== 'true') {
...