在express.js环境中使用。有什么建议吗?
当前回答
如果你在窗户上。打开你的cmd在右文件夹然后首先
set node_env={your env name here}
按enter键,然后就可以开始节点了
node app.js
它将从你的环境设置开始
其他回答
Daniel给出了一个很棒的答案,这是正确部署(设置并忘记)过程的更好方法。
对于那些使用快递的人。 你也可以使用grunt-express-server,这也很棒。 https://www.npmjs.org/package/grunt-express-server
为了拥有多个环境,您需要之前的所有答案(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访问当前环境。
喉咙痛。
NODE_ENV的工作方式与其他环境变量类似。如何设置取决于所使用的平台。
On Linux and OSX: export NODE_ENV=production
On Windows: $env:NODE_ENV = 'production
如果你在你的应用程序中使用webpack,你可以简单地设置它,使用DefinePlugin…
所以在你的插件部分,将NODE_ENV设置为生产:
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"',
})
]
我没有看到任何地方明确提到Docker解决方案;希望这能帮助到一些人:
在Dockerfile:
FROM node:16.11-alpine3.14 AS production
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
...
推荐文章
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- npm犯错!代码UNABLE_TO_GET_ISSUER_CERT_LOCALLY
- 数组的indexOf函数和findIndex函数的区别
- jQuery添加必要的输入字段