我运行带有 native 文件系统(inotify)支持的 webpack, 还使用 chokidar 进行了测试,它正确地获取了该文件系统/文件夹上文件的所有更改。
使用 Sage 9 WordPress 基本主题中的 webpack 配置 ( https://github.com/roots/sage/blob/c21df9965ff8217c3b4ff90bbe6099206d7b4fbf/resources/assets/config.json#L16 )。 仅列出了可供监视的 PHP 文件 - 但它们的依赖项(SCSS/JS/...)也被监视?
我使用 npm/yarn 包脚本启动 webpack watch,该脚本启动 webpack
$ 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 到底在监视什么 - 以及它是否真的检测到更改(并忽略它)?
最佳答案
原因是 CORS,由于 CORS 限制,应该加载新 webpack 版本的脚本被浏览器阻止。可以配置 browserSync 发送正确的 CORS header ,另请参阅 https://discourse.roots.io/t/sage-9-browsersync-not-loading-any-css-at-all-on-yarn-run-start/11332/26 .
新的浏览器同步插件({
目标,
打开:config.open,
proxyUrl: config.proxyUrl,
watch :配置. watch ,
延迟:500,
先进的: {
浏览器同步:{
科尔斯:真实,
},
},
}),
关于javascript - webpack watch 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45288869/