在express.js环境中使用。有什么建议吗?
当前回答
npm start --mode production
npm start --mode development
与 process.env。NODE_ENV = '生产'
其他回答
Windows CMD -> set NODE_ENV=production
Windows Powershell -> $env:NODE_ENV=“production”
MAC -> export NODE_ENV=production
在package.json:
{
...
"scripts": {
"start": "NODE_ENV=production node ./app"
}
...
}
然后在终端运行:
npm start
在运行你的应用程序之前,你可以在控制台执行这个操作,
export NODE_ENV=production
或者如果你在窗口,你可以试试这个:
SET NODE_ENV=production
美国小妞PowerShell:
$env:NODE_ENV="production"
或者你可以这样运行你的应用:
NODE_ENV=production node app.js
你也可以在js文件中设置它:
process.env.NODE_ENV = 'production';
但我不建议在运行时文件中执行,因为在服务器中打开VIM并将其更改为生产环境并不容易。你可以进行配置。Json文件,每次你的应用程序运行时,它都会从中读取并设置配置。
为了拥有多个环境,您需要之前的所有答案(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访问当前环境。
喉咙痛。
如果你在你的应用程序中使用webpack,你可以简单地设置它,使用DefinePlugin…
所以在你的插件部分,将NODE_ENV设置为生产:
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"',
})
]
推荐文章
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- Mac/OS X上的/var/lib/docker在哪里
- 我如何等待一个承诺完成之前返回一个函数的变量?
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- Xcode构建失败“架构x86_64未定义的符号”
- 在Ubuntu上安装Node.js
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 如何在POM.xml中引用环境变量?
- 使用express.js代理
- 如何写setTimeout与参数Coffeescript