如何在客户端上知道反应是环境还是阶段

时间:2019-10-04 07:50:58

标签: javascript node.js reactjs

如何知道客户端上的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"
  },

2 个答案:

答案 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.jsonNODE_ENV=参数:

启动测试环境的应用程序:npm test

为prod env启动应用程序:npm start