Laravel 9升级后执行npm run watch提示缺失脚本的问题咨询
Laravel 9执行
npm run watch报错的原因及修复方案 错误原因
- 核心问题是你的
package.json中未定义watch这个npm脚本。 - Laravel 9默认采用Vite作为前端构建工具,替代了旧版的Laravel Mix,而
watch是Laravel Mix专属的监听命令。从你的配置来看,项目当前是基于Vite搭建的(scripts里只有dev和build对应Vite命令),即便安装了laravel-mix,也未启用它的配置。
修复方案
方案一:继续使用Vite(Laravel 9官方推荐)
Vite的开发服务自带文件监听和热更新功能,完全替代watch的作用,直接执行以下命令即可:
npm run dev
执行后Vite会启动开发服务器,自动监听前端文件变化并实时刷新页面。
方案二:切换回Laravel Mix(仅适用于习惯Mix的场景)
若坚持使用Laravel Mix,需完成以下修改:
- 修改
package.json的scripts字段,添加watch相关命令:
"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" }
- 确保项目根目录存在
webpack.mix.js文件,并配置好你的前端资源编译规则(如JS、CSS的打包路径)。 - 重新执行
npm run watch即可正常使用Mix的监听功能。
内容的提问来源于stack exchange,提问作者Venelin
相关产品推荐
相关产品推荐

