【问题标题】:webpack watch doesn't triggerwebpack watch 不触发
【发布时间】:2017-07-24 19:46:51
【问题描述】:

我运行带有本地文件系统(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...

但是,更改文件——即使只是上面 watch 数组中指定的 PHP 文件——也不会触发 webpack 的任何更新。 可能缺少什么配置?有什么方法可以查明 webpack 到底在看什么 - 以及它是否真的检测到变化(并且只是忽略它)?

【问题讨论】:

    标签: javascript node.js webpack watch


    【解决方案1】:

    原因是 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, }, }, }),

    【讨论】:

      猜你喜欢
      • 2017-08-29
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 2018-01-12
      • 2021-05-17
      • 2016-08-01
      • 2016-07-17
      • 2018-03-21
      相关资源
      最近更新 更多