在express.js环境中使用。有什么建议吗?
当前回答
npm start --mode production
npm start --mode development
与 process.env。NODE_ENV = '生产'
其他回答
这里没人提到。env吗?在你的应用根目录下创建一个.env文件,然后require('dotenv').config()并读取值。易于更改,易于阅读,跨平台。
https://www.npmjs.com/package/dotenv
heroku config:set NODE_ENV="production"
为了拥有多个环境,您需要之前的所有答案(NODE_ENV参数并导出它),但我使用了一种非常简单的方法,不需要安装任何东西。在你的包裹里。Json只是为你需要的每个env放一个脚本,就像这样:
...
"scripts": {
"start-dev": "export NODE_ENV=dev && ts-node-dev --respawn --transpileOnly ./src/app.ts",
"start-prod": "export NODE_ENV=prod && ts-node-dev --respawn --transpileOnly ./src/app.ts"
}
...
然后,要启动应用程序,而不是使用npm start,使用npm run script-prod。
在代码中,您可以使用process.env.NODE_ENV访问当前环境。
喉咙痛。
对于Windows Powershell使用此命令
$env:NODE_ENV="production" ; node app.js
我没有看到任何地方明确提到Docker解决方案;希望这能帮助到一些人:
在Dockerfile:
FROM node:16.11-alpine3.14 AS production
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
...
推荐文章
- Mac SQLite编辑器
- 如何将FormData (HTML5对象)转换为JSON
- Object.hasOwnProperty()产生ESLint 'no-prototype-builtins'错误:如何修复?
- 在MacOS X上推荐用什么方式安装Node.js、nvm和npm ?
- 如何在Swift中删除视图的所有子视图?
- 如何将Node.js流的内容读入字符串变量?
- 两个感叹号?
- 如何在node.js中移动文件?
- 如何在JavaScript中计算今天之前三个月的日期?
- 如何在Mac OS Lion上从命令行启动MySQL服务器?
- <script defer="defer">到底是如何工作的?
- 设置ajax超时
- 从Windows批处理文件设置系统环境变量?
- 为什么JavaScript需要以“;”开头?
- 既然JavaScript和Java没有任何关系,它为什么被称为JavaScript ?