【发布时间】:2019-01-06 11:23:31
【问题描述】:
我的 package.json 中有以下内容
"scripts": {
...
"prod": "gulp build --production && webpack --env.config=production"
}
我现在想将参数“theme”传递给 gulp 和 webpack,以便能够从命令行调整构建过程的输出。
我想出了如何将它传递给 webpack:npm run prod -- --env.theme=themename 但 gulp 并没有处理这个问题。我还通过将 npm 脚本更改为 "gulp build --production \"$1\" && webpack --env.config=production" 来尝试使用 yargs-package、processs.argv 和 bash 字符串替换,但这也没有成功。
如何做到这一点?我错过了什么?任何提示都非常感谢!
【问题讨论】:
-
您想要达到的目标并不完全清楚。您是否尝试通过命令行将参数(即
--env.theme=themename)传递给prod脚本中的gulp 和webpack 命令?你提到 "...但是 gulp 不关心这个" - 你是什么意思?如果您的 npm 脚本只是"prod": "gulp build --production"并且您通过 CLI 像这样调用它:npm run prod -- --env.theme=themenamegulp 会按照您的意愿执行吗? -
@RobC 感谢您与我们联系。基本上我想以某种方式将信息从命令行传递到
npm run prod,以便可以在我的 gulpfile.js 和我的 webpack.config.js 中进行处理,以便我能够相应地调整构建过程。对于您的具体问题:如果我相应地调整 npm 脚本和 CLI 调用,gulpfile.js 中提供了信息,是的。
标签: node.js bash npm webpack gulp