webpack手表不会触发

时间:2017-07-24 19:46:51

标签: javascript node.js webpack watch

我使用本机文件系统(inotify)支持运行webpack, 还使用chokidar进行了测试,它正确地获取了该文件系统/文件夹上文件的所有更改。

使用Sage 9 WordPress基本主题中的webpack配置(https://github.com/roots/sage/blob/c21df9965ff8217c3b4ff90bbe6099206d7b4fbf/resources/assets/config.json#L16)。 只列出了要监视的PHP文件 - 但是它们的依赖关系(SCSS / JS / ...)也会被监视?

我使用启动webpack的npm / yarn包脚本启动webpack watch $ webpack --hide-modules --watch --config resources/assets/build/webpack.config.js

Webpack is watching the files… [BS] [HTML Injector] Running... [BS] Proxying: http://dev:8084 [BS] Access URLs: ---------------------------------- Local: http://localhost:3000 External: http://127.0.0.1:3000 ---------------------------------- UI: http://localhost:3001 UI External: http://127.0.0.1:3001 ---------------------------------- [BS] Watching files...

但是,更改文件 - 甚至只是上面监视数组中指定的PHP文件 - 不会触发webpack的任何更新。 什么配置可能会丢失?是否有任何方法可以找出webpack的确切内容 - 以及它是否真的检测到了更改(并且忽略了它)?

1 个答案:

答案 0 :(得分:0)

原因是CORS,由于CORS限制,应加载新webpack构建的脚本被浏览器阻止。可以将browserSync配置为为CORS发送正确的标头,另请参阅https://discourse.roots.io/t/sage-9-browsersync-not-loading-any-css-at-all-on-yarn-run-start/11332/26

new BrowserSyncPlugin({ target, open: config.open, proxyUrl: config.proxyUrl, watch: config.watch, delay: 500, advanced: { browserSync: { cors: true, }, }, }),

相关问题