Javascript 具有多个入口点的Webpack watch()-为未更改的文件发出捆绑包?

Javascript 具有多个入口点的Webpack watch()-为未更改的文件发出捆绑包?,javascript,node.js,webpack,browser-sync,Javascript,Node.js,Webpack,Browser Sync,在我的webpack.config.js中,我有3个单独的入口点,一个用于js捆绑包,一个用于主SCSS捆绑包,另一个用于与主SCSS捆绑包没有关系的单独SCSS捆绑包 当我使用webpack.watch()API时,出于某种原因,编辑JS源文件不仅会导致重新编译JS包,还会导致重新编译2个SCSS包。 这是为什么?我如何停止这种行为并确保只重新编译已编辑的入口点? 这是一个问题的原因,因为我使用的是browsersync,对于CSS包的重新编译,我只是注入CSS而不是重新加载,但是在HTML/

在我的
webpack.config.js
中,我有3个单独的入口点,一个用于js捆绑包,一个用于主SCSS捆绑包,另一个用于与主SCSS捆绑包没有关系的单独SCSS捆绑包

当我使用
webpack.watch()
API时,出于某种原因,编辑JS源文件不仅会导致重新编译JS包,还会导致重新编译2个SCSS包。
这是为什么?我如何停止这种行为并确保只重新编译已编辑的入口点?


这是一个问题的原因,因为我使用的是
browsersync
,对于CSS包的重新编译,我只是注入CSS而不是重新加载,但是在HTML/JS上编辑它的重新加载。但是,如果我编辑SCS,并且它也重新编译JS/HTML
browsersync
会触发重新加载而不是CSS注入。

在这种情况下,您需要一个文件,让webpack检测每个不同入口点上所做的更改

为此,您可以使用CommonChunkPlugin提供的清单文件:

例如,如果您有以下入口点:

entry: {
   app: 'main.js', // main entry point
   vendor: ['jquery', 'react'] //Third libraries
}
您可以使用以下插件:

new wepack.optimize.CommonsChunkPlugin({
  name: ['vendor', 'manifest']
})
此配置将生成一个清单文件作为另一个输出。在这种情况下,如果您更改了“app”入口点,webpack只会重新编译main.js输出包(根据“output”配置中的“filename”格式),因为供应商包已经相同


您可以使用特定的入口点尝试此操作。

确保未禁用。您可以在此处复制/粘贴您的网页配置吗?它仍然是实际的吗?我正在使用
Webpack
+
Browsersync
,这样的情况对我来说很好。如果我对这个感兴趣,我可以帮你。。。