我正在使用webpack并需要传递配置文件和devtool
参数。我尝试了一些双重参数的变化,没有通过。
//This works
gulp.task('js', function() {
gulp.src(config.paths.mainJs)
.pipe(webpack(require('./webpack.config.dev.js')
//how do we sourcemap this?
//devtool: "source-map"
))
//This fails
gulp.task('js', function() {
gulp.src(config.paths.mainJs)
.pipe(webpack({
configuration: require('./webpack.config.dev.js'),
devtool: "source-map"
}))
我找到security issues进行配置。它没有提供任何这方面的例子。
答案 0 :(得分:3)
假设./webpack.config.dev.js
看起来像这样:
module.exports = {
// configuration
};
你的require语句返回一个普通的JavaScript对象,所以你只能覆盖devtool
道具:
var extend = require('extend');
gulp.task('js', function() {
var config = extend({}, require('./webpack.config.dev.js'), {
devtool: "source-map",
});
gulp.src(config.paths.mainJs)
.pipe(webpack(config))
...
});
我使用extend
npm包将配置组合成一个新对象,但如果你愿意,可以使用其他东西。您也可以完全忽略extend
,只需将devtool
属性设置为:
var config = require('./webpack.config.dev.js');
config.devtool = "source-map";
但请记住,nodejs会缓存所需的文件,因此如果您之后需要从Gulpfile.js中的其他位置webpack.config.dev.js
,则devtool
属性已设置为"source-map"
。< / p>
答案 1 :(得分:1)
我已经找到了一个传递参数的方法,详见本文。
您可以使用package.json脚本部分通过npm传递args。
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"babel": "babel",
"webpack-quizMaker": "set arg=quizMaker&&webpack",
"webpack-quiz": "set arg=quiz&&webpack"
},
有关详细信息,请参阅以下链接。