【发布时间】:2016-04-12 05:42:13
【问题描述】:
我有一个简单的 webpack 插件,它会在编译开始时写入标准输出,然后在编译完成时写入。当我有一个动态的require 并在监视模式下运行 webpack 时,事实证明 webpack 一直在尝试以某种无限循环进行编译。我看到的是:
[07:36:42] Webpack [admin] 开始编译...
[07:36:43] Webpack [admin] 完成编译。
[07:36:43] Webpack [admin] 开始编译...
[07:36:44] Webpack [admin] 完成编译。
[07:36:44] Webpack [admin] 开始编译...
[07:36:45] Webpack [admin] 完成编译。
[07:36:45] Webpack [admin] 开始编译...
[07:36:45] Webpack [admin] 完成编译。
[07:36:46] Webpack [admin] 开始编译...
[07:36:46] Webpack [admin] 完成编译。
没有任何发射。它不应该监视特定目录下的文件更改并仅在发生更改时编译吗?
有什么办法可以避免吗?
编辑
实际上,只有在我的包中也包含样式并使用 ExtractTextPlugin 将它们提取到 css 文件中时才会发生这种情况。
这是样式的设置:
module: {
loaders: [
{
test: /\.css$/,
loader: ExtractTextPlugin.extract("style-loader", `css-loader!postcss-loader`, {
publicPath: '../'
})
}
]
},
plugins: [
new ExtractTextPlugin(`./${bundleFolder}/[name].css`)
]
编辑 2
我向 webpack 的 github 提交了一个问题:https://github.com/webpack/webpack/issues/2320
【问题讨论】:
-
是的 - 不要关注你的输出目录的变化
-
您的意思是确保(例如通过 ContextReplacementPlugin)输出目录与正则表达式不匹配?
-
不是。我使用 require.context(... 来选择合适的上下文。
标签: webpack