VSCode-调试Node项目以及设置NODEENV或其他自定义环境变量

61次阅读

共计 1330 个字符,预计需要花费 4 分钟才能阅读完成。

前言

之前一直使用 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

正文完
 0