前言
之前一直使用Webstrom开发node项目,Webstrom开箱即用,内置调试。Webstrom 2019内存占用时不时就让我15年的Macbook Pro 8G 内存爆满,无奈只能去尝试VSCode 了。使用VSCode已经有一段时间了,这里不对IDE做对比和评价,只对使用VSCode调试Node项目和设置一些常用的环境变量做一下记录。
新建调试
使用VSCode打开Node项目,点击最右侧“调试”按钮(蜘蛛图案),点击右侧面板“齿轮图标”添加设置,选择“Node.js”,会自动打开一个名为“launch.json”文件,
launch.json文件
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/bin/www"
}
]
}
这个时候点击debug面板上的启动按钮就能启动node项目了;
添加环境变量
使用VSCode 调试时,添加环境变量
打开 launch.json
, 添加一个 “env” key,下面是添加了 NODE_ENV
,PORT
变量
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "node debug",
"program": "${workspaceFolder}/bin/www",
"env":{
"NODE_ENV":"development",
"PORT":8080,
"CUSTOM_PARAMS":"foo"
}
}
]
}
在项目代码中,我们可以使用 process.env.NODE_ENV
获取到变量值,
例如:
// 获取端口
var port = normalizePort(process.env.PORT || '3010');
app.set('port', port);
// 使用NODE_ENV
if(process.env.NODE_ENV === 'development'){
response.status(400).json({ error});
}else{
response.status(400).json({error:error.code ? error : this.unknownError(),data});
}
npm script 方式添加node环境变量
使用npm script 添加node环境变量,执行npm run YOUR_SCRIPT
时,加载环境变量
样例如下package.json文件:
{
"scripts": {
"start": "export NODE_ENV='development' && export PORT='3010' && node ./bin/www",
"build": "export NODE_ENV='production' && node ./bin/www"
},
}
使用pm2 管理node项目时,使用 pm2 start npm -- run YOUR_SCRIPT
方式 启动node项目,向node中添加环境变量;
# -- 和 run 之间有空格
pm2 start npm -- run build