如何知道客户端上的react app,当前的env是prod还是暂存?
在后端/节点js上,我们有process.env.STAGE_NAME
但是现在可以在客户端上使用了。
这是package.json
。
我如何在客户端上获取该信息?
"scripts": {
"postinstall": "cd ./localDb && sls dynamodb install && cd ../",
"buildServer": "tsc -b ./server/tsconfig.json",
"buildClient": "next build ./client",
"build": "npm run buildServer && npm run buildClient",
"build:dev": "npm run buildServer && NODE_ENV=development npm run buildClient",
"dev": "node --inspect server/build/index.js",
"start": "NODE_ENV=production node server/build/index.js",
"testClient": "nyc --reporter=html --reporter=text mocha --timeout 15000 --reporter mochawesome --exit",
"testServer": "nyc --reporter=html --reporter=text mocha --timeout 15000 --reporter mochawesome --exit server/build/tests/*.js",
"lintServer": "tslint 'server/**/*.ts' --quiet --project server/tsconfig.json",
"lintClient": "eslint '**/*.{js,jsx}' --quiet",
"lint": "npm run lintClient && npm run lintServer",
"format": "prettier --write '**/*.{js,jsx,css,scss,ts}'",
"test": "npm run testClient && NODE_ENV=testing npm run testServer",
"local:db": "cd ./localDb && sls dynamodb start && dynamodb-admin"
},
答案 0 :(得分:3)
您可以这样做
"scripts": {
"build": "npm run buildServer && npm run buildClient",
"build:dev": "npm run buildServer && NODE_ENV=development npm run buildClient",
"build:stage": "npm run buildServer && NODE_ENV=staging npm run buildClient",
},
现在您可以通过 process.env.NODE_ENV 了解环境。
如果您是使用 create-react-app 创建的应用,则建议使用 .env 文件。检查链接以进一步阅读Link
答案 1 :(得分:2)
这取决于您如何运行react应用以及您在package.json
中定义了什么
取决于您的package.json
和NODE_ENV=
参数:
启动测试环境的应用程序:npm test
为prod env启动应用程序:npm start