[英]`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.js
或mix.sass
(你的webpack.mix.js
文件中的任何其他編譯器,那么npm run watch
似乎什么都不做,因為它只是在后台復制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.