当 webpack.mix.js 更新时,Laravel Mix 'watch' 无法编译

问题描述 投票:0回答:1

当我运行

npm run watch
并更新我的源
.js
.scss
资源时,编译会按预期自动运行。当我更新
webpack.mix.js
文件时,更改不会自动编译。

这是v6不支持的吗?因为 v5 确实按预期工作了。

配置:

const mix = require('laravel-mix')

mix.js('resources/js/app.js', 'public/js')
  .sass('resources/css/app.scss', 'public/css')
  .version()

package.json

{
  ...

  "scripts": {
    "development": "mix",
    "watch": "mix watch",
    "watch-poll": "mix watch -- --watch-options-poll=1000",
    "hot": "mix watch --hot",
    "production": "mix --production"
  }

  ...
}
javascript laravel webpack laravel-mix
1个回答
3
投票

奇怪的是,它对我有用。尝试使用

npm run watch-poll
代替。您应该运行最新版本的 Laravel Mix:

"laravel-mix": "^6.0.11",

不相关,如果您使用的是 Laravel Mix 6,您可能需要将 package.json 更新为以下

"scripts": {
    "dev": "npm run development",
    "development": "mix",
    "watch": "mix watch",
    "watch-poll": "mix watch -- --watch-options-poll=1000",
    "hot": "mix watch --hot",
    "prod": "npm run production",
    "production": "mix --production"
},

根据 8.x Laravel 文档...

Webpack 可能无法检测到您在某些本地的文件更改 开发环境。如果您的系统出现这种情况,请考虑 使用 watch-poll 命令。

© www.soinside.com 2019 - 2024. All rights reserved.