在express.js环境中使用。有什么建议吗?
当前回答
如果你在窗户上。打开你的cmd在右文件夹然后首先
set node_env={your env name here}
按enter键,然后就可以开始节点了
node app.js
它将从你的环境设置开始
其他回答
在OSX上,我建议将export NODE_ENV=development添加到~/中。Bash_profile和/或~/。Bashrc和/或~/.profile。
我个人将该条目添加到我的~/。Bashrc,然后有~/。bash_profile ~ /。概要文件导入该文件的内容,因此它在各个环境中是一致的。
完成这些添加后,一定要重新启动终端来进行设置。
为了不必担心你是在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
在package.json:
{
...
"scripts": {
"start": "NODE_ENV=production node ./app"
}
...
}
然后在终端运行:
npm start
为了拥有多个环境,您需要之前的所有答案(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访问当前环境。
喉咙痛。
Daniel给出了一个很棒的答案,这是正确部署(设置并忘记)过程的更好方法。
对于那些使用快递的人。 你也可以使用grunt-express-server,这也很棒。 https://www.npmjs.org/package/grunt-express-server
推荐文章
- 在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在哪里
- 我如何等待一个承诺完成之前返回一个函数的变量?