我有一个使用create-react-app创建的应用。
使用npm run build可以很好地构建我的应用程序以进行生产,并且build和start脚本可以正常工作。在我的package.json中:
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"test": "node scripts/test.js"
},
我在本地环境中运行命令npm run build,它运行良好。然后,我在GCP或Digital Ocean上部署,得到的结果相同-空白页和错误:
Uncaught ReferenceError: process is not defined
我尝试通过设置process.NODE_ENV =“ production”将process定义为环境变量,但是它不起作用。
我的package-lock.json中似乎有一个处理模块:
"requires": {
...
"process": "^0.11.10",
...
}
,我似乎无法通过删除package-lock.json然后卸载或删除它来摆脱它。稍后在package-lock.json中显示为:
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
},
这可能是造成混乱的原因吗?
如果我运行节点并输入:
process.env.NODE_ENV
它返回“未定义”。我之前在实时服务器上进行了设置,但是构建脚本无法识别它吗?这是create-react-app的东西吗,因为它需要专门命名的env变量。
在这里,我的智慧!