在express.js环境中使用。有什么建议吗?
当前回答
在package.json:
{
...
"scripts": {
"start": "NODE_ENV=production node ./app"
}
...
}
然后在终端运行:
npm start
其他回答
这里没人提到。env吗?在你的应用根目录下创建一个.env文件,然后require('dotenv').config()并读取值。易于更改,易于阅读,跨平台。
https://www.npmjs.com/package/dotenv
NODE_ENV的工作方式与其他环境变量类似。如何设置取决于所使用的平台。
On Linux and OSX: export NODE_ENV=production
On Windows: $env:NODE_ENV = 'production
export NODE_ENV=production是坏的解决方案,重启后消失。
如果你不想再担心这个变量了,把它添加到这个文件中:
/etc/environment
不要使用导出语法,只需写(如果已经有一些内容,则在新行中):
NODE_ENV=production
重启后即可工作。你将不必再输入导出NODE_ENV=生产命令,任何地方,只要使用节点与任何你想要的-永远,pm2…
对于英雄:
heroku config:set NODE_ENV="production"
也就是默认。
heroku config:set NODE_ENV="production"
为了不必担心你是在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
推荐文章
- 反应钩子-正确的方式清除超时和间隔
- TypeScript枚举对象数组
- 在React.js中正确的img路径
- 在OSX 10.11中安装Scrapy时,“OSError: [Errno 1]操作不允许”(El Capitan)(系统完整性保护)
- 在React.js中更新组件onScroll的样式
- onClick ReactJS调用多个函数
- 如何在JavaScript中转义单引号(')?
- Ng-repeat结束事件
- 谷歌MAP API未捕获的类型错误:无法读取属性“offsetWidth”为空
- 模糊vs聚焦-有什么真正的区别吗?
- 如何使用JavaScript创建和样式一个div ?
- 如何在Mac OS X 10.6中使硬件发出哔哔声
- 清除JavaScript中的缓存
- 如何在使用Javascript替换DOM元素?
- 环境变量存储在Windows注册表的哪里?