Laravel npm run watch 不能在运行时 scss 和 js 中编译

Posted

技术标签:

【中文标题】Laravel npm run watch 不能在运行时 scss 和 js 中编译【英文标题】:Laravel npm run watch not compile in runtime scss and js 【发布时间】:2020-11-03 12:11:49 【问题描述】:

您好,我对新的 laravel 项目有疑问。我知道它应该是在命令 npm run watch 之后自动编译 scss 和 js。但它没有识别出任何变化,我不知道为什么。

我的 webpack.mix.js 看起来像这样:

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

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

为了编译更改,我必须在每次 npm run watch 时进行。如果你知道为什么,请告诉我。

Log from console:
 DONE  Compiled successfully in 8794ms                                7:57:59 AM

       Asset      Size   Chunks             Chunk Names
/css/app.css   179 KiB  /js/app  [emitted]  /js/app
  /js/app.js  1.66 MiB  /js/app  [emitted]  /js/app

但这在运行时从未改变......

【问题讨论】:

【参考方案1】:

第一次运行

npm run dev

然后运行

npm run watch

【讨论】:

相同的行为:/ 检查节点是否正确安装【参考方案2】:

哦,我在宅基地服务器上运行 npm run watch...当我在本地环境中尝试它时,它工作正常。这是解决方案

【讨论】:

【参考方案3】:

试试npm run watch-poll。监视命令并不总是有效。所以watch-poll 每隔几毫秒手动检查一次文件更改。

【讨论】:

【参考方案4】:

我尝试了以下步骤来清理公用文件夹,它为我解决了这个问题。

从公用文件夹中删除以下文件:

mix-manifest.json js文件夹内的所有文件 任何以数字命名的文件,例如:123.js

然后运行以下命令:

npm 运行开发 npm 运行观察

【讨论】:

【参考方案5】:

就我而言,npm upgrade 解决了这个问题。

【讨论】:

以上是关于Laravel npm run watch 不能在运行时 scss 和 js 中编译的主要内容,如果未能解决你的问题,请参考以下文章

npm run watch 和 npm run watch-poll 的区别

node npm run watch退出状态3221225725

npm run watch 运行失败,但没有报错

为啥我不能在 Laravel 7 中成功运行 npm run dev?

脚本“npm run dev”和“npm run watch”是做啥用的?

为啥“npm run watch”崩溃了