You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony+React项目执行npm命令报错:Missing script: 'watch'

解决Symfony+React项目npm命令缺失问题

你的问题根源很明确:package.json的scripts字段里只定义了test命令,没有watch、dev、build这些你要执行的命令,所以npm执行时会提示找不到对应脚本。

下面是两种适配Symfony项目的靠谱解决办法,对应官方常用的两种前端工具链:

方法一:用Symfony官方推荐的Vite插件(更适合新项目)

  1. 通过Composer安装Vite相关Bundle:
composer require symfony/vite-bundle symfony/stimulus-bundle
  1. 重新安装前端依赖:
npm install

执行完这两步后,你的package.json会自动生成dev、build、preview等标准命令,直接运行npm run dev或npm run build即可正常工作。

方法二:用Webpack Encore(传统前端构建工具)

  1. 安装Webpack Encore Bundle:
composer require symfony/webpack-encore-bundle
  1. 重新安装前端依赖:
npm install

此时package.json会自动添加watch、dev、build等命令,示例如下:

"scripts": {
    "dev-server": "encore dev-server",
    "dev": "encore dev",
    "watch": "encore dev --watch",
    "build": "encore production --progress",
    "test": "echo \"Error: no test specified\" && exit 1"
}

之后你就能正常执行npm run watch这类命令了。

手动添加命令(不推荐,易漏依赖)

如果不想重新安装Bundle,也可以手动修改配置:

  1. 先安装Webpack Encore依赖:
npm install @symfony/webpack-encore --save-dev
  1. 将package.json的scripts字段替换为上面示例中的内容。

不过更建议使用前两种方法,官方Bundle会自动配置好所有必要的前端工具和依赖,避免手动配置出错。

内容的提问来源于stack exchange,提问作者nimmbot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:03:10