在express.js环境中使用。有什么建议吗?
当前回答
这里没人提到。env吗?在你的应用根目录下创建一个.env文件,然后require('dotenv').config()并读取值。易于更改,易于阅读,跨平台。
https://www.npmjs.com/package/dotenv
其他回答
您可以按环境运行,如下所示,
NODE_ENV=production npm run start
为了不必担心你是在Windows、Mac还是Linux上运行脚本,请安装cross-env包。然后你可以很容易地使用你的脚本,像这样:
"scripts": {
"start-dev": "cross-env NODE_ENV=development nodemon --exec babel-node -- src/index.js",
"start-prod": "cross-env NODE_ENV=production nodemon --exec babel-node -- src/index.js"
}
对这个包的开发人员的巨大支持。
npm install --save-dev cross-env
我没有看到任何地方明确提到Docker解决方案;希望这能帮助到一些人:
在Dockerfile:
FROM node:16.11-alpine3.14 AS production
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
...
在package.json:
{
...
"scripts": {
"start": "NODE_ENV=production node ./app"
}
...
}
然后在终端运行:
npm start
对于Windows Powershell使用此命令
$env:NODE_ENV="production" ; node app.js
推荐文章
- 在React Native中使用Fetch授权头
- 为什么我的球(物体)没有缩小/消失?
- 如何使用jQuery检测页面的滚动位置
- if(key in object)或者if(object. hasownproperty (key)
- 一元加/数字(x)和parseFloat(x)之间的区别是什么?
- angularjs中的compile函数和link函数有什么区别
- 删除绑定中添加的事件监听器
- 很好的初学者教程socket.io?
- 在Mac OS X上哪里安装Android SDK ?
- HtmlSpecialChars在JavaScript中等价于什么?
- React: 'Redirect'没有从' React -router-dom'中导出
- 如何在React中使用钩子强制组件重新渲染?
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- Mac/OS X上的/var/lib/docker在哪里
- 我如何等待一个承诺完成之前返回一个函数的变量?