前言
之前一直使用Webstrom開(kāi)發(fā)node項(xiàng)目,Webstrom開(kāi)箱即用,內(nèi)置調(diào)試。Webstrom 2019內(nèi)存占用時(shí)不時(shí)就讓我15年的Macbook Pro 8G 內(nèi)存爆滿,無(wú)奈只能去嘗試VSCode 了。使用VSCode已經(jīng)有一段時(shí)間了,這里不對(duì)IDE做對(duì)比和評(píng)價(jià),只對(duì)使用VSCode調(diào)試Node項(xiàng)目和設(shè)置一些常用的環(huán)境變量做一下記錄。
新建調(diào)試
使用VSCode打開(kāi)Node項(xiàng)目,點(diǎn)擊最右側(cè)“調(diào)試”按鈕(蜘蛛圖案),點(diǎn)擊右側(cè)面板“齒輪圖標(biāo)”添加設(shè)置,選擇“Node.js”,會(huì)自動(dòng)打開(kāi)一個(gè)名為“l(fā)aunch.json”文件,

launch.json文件
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/bin/www"
}
]
}

這個(gè)時(shí)候點(diǎn)擊debug面板上的啟動(dòng)按鈕就能啟動(dòng)node項(xiàng)目了;

添加環(huán)境變量
使用VSCode 調(diào)試時(shí),添加環(huán)境變量
打開(kāi) launch.json , 添加一個(gè) “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"
}
}
]
}
在項(xiàng)目代碼中,我們可以使用 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環(huán)境變量
使用npm script 添加node環(huán)境變量,執(zhí)行npm run YOUR_SCRIPT 時(shí),加載環(huán)境變量
樣例如下package.json文件:
{
"scripts": {
"start": "export NODE_ENV='development' && export PORT='3010' && node ./bin/www",
"build": "export NODE_ENV='production' && node ./bin/www"
},
}
使用pm2 管理node項(xiàng)目時(shí),使用 pm2 start npm -- run YOUR_SCRIPT 方式 啟動(dòng)node項(xiàng)目,向node中添加環(huán)境變量;
# -- 和 run 之間有空格
pm2 start npm -- run build