React项目部署报错npm ERR! Missing script: "build" 求解
报错根因
触发npm ERR! Missing script: "build"错误的核心原因是配置不匹配:
- 你配置的
predeploy钩子会在执行deploy命令前自动运行npm run build,但package.json的scripts字段中没有定义名为build的脚本 - 该项目是通过createapp.dev生成、基于Parcel做打包的项目,并非create-react-app初始化的项目:create-react-app会默认内置
build脚本、打包产物输出到build目录,但你当前项目里打包命令命名为build-prod,Parcel默认打包产物输出到dist目录,和gh-pages的部署配置完全不匹配 - 你当前
start脚本写的是react-scripts start,但项目依赖中根本没有安装react-scripts,就算解决了build的报错,启动项目时也会触发新的错误

修复方案
直接修改package.json中的scripts字段,替换为以下配置即可:
"scripts": { "clean": "rm -rf dist", "start": "parcel src/index.html", "build": "parcel build src/index.html", "predeploy": "npm run build", "deploy": "gh-pages -d dist", "build-prod": "parcel build src/index.html" }
配置修改说明:
- 补充了缺失的
build脚本,和predeploy钩子的调用逻辑对齐 - 把错误的
react-scripts start启动命令替换为Parcel对应的启动命令,避免启动时报错 - 把gh-pages部署的目录从不存在的
build改为Parcel实际输出打包产物的dist目录 - 保留了你原有的
build-prod命令,不影响原有使用习惯
修改完成后重新执行npm run deploy即可正常完成部署流程。
内容的提问来源于stack exchange,提问作者Tobi_009
相关产品推荐
相关产品推荐

