create-react-app能否以生产模式执行npm run start命令?
在Create React App中以生产模式启动服务的方法
当然可行!不过Create React App(CRA)默认的npm run start是固定绑定开发模式的,直接加--prod参数没用,因为CRA的内置脚本不会识别这个参数。下面给你几种实用的解决办法:
自定义package.json脚本(推荐跨平台方案)
你可以在项目的package.json的scripts字段里新增一个专门的生产模式启动命令。如果需要跨Windows/macOS/Linux平台,先安装cross-env包来统一环境变量的设置方式:npm install cross-env --save-dev然后修改
scripts:"scripts": { "start": "react-scripts start", "build": "react-scripts build", "start:prod": "cross-env NODE_ENV=production react-scripts start" }之后运行
npm run start:prod就能以生产模式启动服务了。直接在命令行临时设置环境变量
不想改配置的话,也可以直接在命令行里临时指定环境变量:- macOS/Linux终端:
NODE_ENV=production npm start - Windows命令提示符(CMD):
set NODE_ENV=production && npm start - Windows PowerShell:
$env:NODE_ENV="production"; npm start
- macOS/Linux终端:
额外提醒
用生产模式启动CRA的开发服务器时,代码会被压缩,而且热重载、错误提示等开发阶段的便利特性会失效。如果你的需求是验证生产构建的实际运行效果,更推荐先执行npm run build生成生产包,再用serve这类静态服务器工具启动(比如npx serve -s build),这样更贴近真实的生产部署环境。
内容的提问来源于stack exchange,提问作者user4412054
相关产品推荐
相关产品推荐

