簡體   English   中英

`npm run watch` 在 Laravel 5.4 中不起作用

[英]`npm run watch` not working in Laravel 5.4

使用 Laravel 5.4 和 Mix,當我運行npm run watch時,它編譯所有內容一次,看起來它正在等待更改,但是當我對我的任何資產文件進行更改時,它似乎沒有檢測到任何內容。 是否有其他人在 5.4 中遇到此問題或有解決方案?

解決方案是由 Jeffrey Way 在 Laracasts 提供的。

嘗試將 --watch-poll 標志添加到您的package.json腳本中。 或者只是嘗試:

node_modules/.bin/webpack --watch --watch-poll --config=node_modules/laravel-mix/setup/webpack.config.js

npm 運行監視輪詢

它也適用於 ubuntu 並自動編譯代碼更改。 謝謝你。

npm 運行監視輪詢

watch-poll定期檢查(輪詢)是否有更改,例如每 1000 毫秒,它將手動檢查以查看是否有任何文件已更改。

laravel文檔怎么說?

您可能會發現在某些環境中,當您的文件更改時,Webpack 不會更新。 如果您的系統出現這種情況,請考慮使用 watch-poll 命令。 您可以閱讀文檔以獲取有關mix的更多信息。

我更喜歡使用inotify-tools 要安裝此工具集,請運行此命令:

Ubuntu:

sudo apt install inotify-tools -y

Centos:

sudo yum -y install inotify-tools

然后對於大文件夾運行:

sudo sysctl fs.inotify.max_user_watches=500000000

最后運行此命令以查看文件夾更改:

while true; do npm run dev; inotifywait -e modify,create,delete,move -r resources/ ; done

您可以限制目標監視目錄(本例中的資源/)以獲得更好的性能。

我使用的mix.scripts實際上並不編譯你的腳本,只是復制它們,所以編譯時沒有 npm 讀數,因為它沒有編譯任何東西。 如果你沒有使用mix.jsmix.sass (你的webpack.mix.js文件中的任何其他編譯器,那么npm run watch似乎什么都不做,因為它只是在后台復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM