多重配置期间的webpack监视选项
webpack watch option during multi config
我已经为webpack创建了两个配置。
当我导出一个配置数组时:一切都正常,而不是监视选项。任务简单地完成了(并取得了成功)。
当我测试一个配置导出时,watch运行良好。
我试过多个切入点,手表那次也很好,但是配置看起来有点乱。
我会修改我的配置,希望得到建议,谢谢。
/* FRONT-END CONFIG */
var frontWebpackConfig = {
entry: "./src/front/app",
output: {
path: __dirname + "/build",
filename: "public/app.js"
},
watch: NODE_ENV == "development",
watchOptions : {
aggregateTimeout: 100
},
devtool : NODE_ENV == "development" ? "cheap-inline-module-source-map" : null,
plugins : [
new webpack.NoErrorsPlugin(),
new webpack.DefinePlugin({
NODE_ENV : JSON.stringify(NODE_ENV)
})
],
module : {
loaders : [
{
test : /'.js$/,
loader : 'babel',
query: {
presets: ['es2015']
}
},
{ test: /'.css$/, loader: "style-loader!css-loader" }
]
}
};
/* BACK-END CONFIG */
var backWebpackConfig = {
entry: "./src/back/server",
target : 'node',
output: {
path: __dirname + "/build",
filename: "server.js"
},
externals: nodeModules,
watch: NODE_ENV == "development",
watchOptions : {
aggregateTimeout: 100
},
devtool : NODE_ENV == "development" ? "cheap-inline-module-source-map" : null,
plugins : [
new webpack.NoErrorsPlugin(),
new webpack.DefinePlugin({
NODE_ENV : JSON.stringify(NODE_ENV)
})
],
module : {
loaders : [
{
test : /'.js$/,
loader : 'babel',
query: {
presets: ['es2015']
}
}
]
}
}
/* EXPORTS */
module.exports = [frontWebpackConfig, backWebpackConfig]
此外,我还检查了以下表达式:"NODE_ENV=="development"value,并尝试直接设置true。
更新:有趣的是,我刚刚尝试在命令行中使用"--watch"选项启动,效果很好。你知道为什么文件配置不起作用吗?
watch
不是Webpack中的配置选项。正如您所建议的,当使用Nodeneneneba API:时,您需要在CLI上传递它,或者调用watch
而不是run
compiler.watch({ ...watchOptions }, function(err, stats) {
// ...
});
实际上,webpack 1.13.0+
中有一个用于watch
的选项。
但似乎,在几种配置(对象数组)的情况下,应该将watch
属性设置为数组,以使其工作。最终将使用第一配置对象的CCD_ 7属性。
/* FRONT-END CONFIG */
var frontWebpackConfig = {
entry: "./src/front/app",
// ...
watch: NODE_ENV == "development",
watchOptions : {
aggregateTimeout: 100,
},
};
/* BACK-END CONFIG */
var backWebpackConfig = {
entry: "./src/back/server",
// ...
};
var configuration = [frontWebpackConfig, backWebpackConfig];
configuration.watch = true;
/* EXPORTS */
module.exports = configuration;
命令行中的--watch
参数只是在配置加载和处理期间将watch
属性设置为数组,这就是为什么使用CLI参数可以正常工作的原因。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 监视函数从服务返回不起作用,但作用域函数起作用
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- Webpack开发服务器和React服务器端渲染
- 让Webpack管理Quirky AMD定义的最佳方式
- 什么'在webpack外部设置中,reactDom和reactDom不同
- webpack代码拆分了handlerbs文件——结果是文件很大
- 将webpack和babel与父项目目录中的文件一起使用
- React, Webpack: bundle.js is not generated
- Webpack UglifyJS仍在发出警告消息
- 将require('..')与变量一起使用与在webpack中使用字符串相比
- webpack开发模式和生产构建模式之间有什么区别
- index.html使用webpack开发服务器未重新加载
- Node.js通过scp监视传入归档的目录
- js,对象's状态监视
- 多重配置期间的webpack监视选项
- webpack-dev-server 不会监视创建的新文件
- 实例之间的webpack监视缓存
- 如何让webpack在构建后进行监视和运行
- Webpack插件监视子编译