如何在vscode中调试nodejs代码
最近接触了一个前端react,nodejs做转发层的项目,打包部署到服务器上的也不再是纯静态文件了,而是要在服务器上安装node并启动打包后的项目,由于需要在项目中需要debuge nodejs所以记录一下
package.json的script如下(关注dev即可):
"scripts": { "build": "cross-env NODE_ENV=production TS_NODE_PROJECT=\"tsconfig.webpack.config.json\" webpack --config webpack.config.ts && tsc --build tsconfig.build.json", "build:uat": "cross-env NODE_ENV=uat TS_NODE_PROJECT=\"tsconfig.webpack.config.json\" webpack --config webpack.config.ts && tsc --build tsconfig.build.json && mv ./build/server.uat.js ./build/server.js", "test:lint": "tslint -c tslint.json '{src,packages}/**/*.{ts,tsx}'", "dev": "cross-env NODE_ENV=development SERVER_PORT=3000 CONSOLE_CONFIG=\"config/console.dev.json\" node -r ts-node/register/transpile-only ./server.dev.ts", "start": "ts-node ./server.ts" },
vscode的tasks.json如下(task.json的配置就是为了执行上面的script dev脚本)
{ // 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId=733558 "version": "2.0.0", "tasks": [ { "type": "npm", "script": "dev", //合起来就是npm run dev "problemMatcher": [] } ] }
vscode的launch.json如下(launch.json的配置为脚本设置启动参数,如下,在.vscode/launch.json文件中,红色部分设置运行条件,黄色部分配置script脚本)
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "runtimeArgs": ["-r", "ts-node/register/transpile-only"], "env": { "NODE_ENV": "development", "SERVER_PORT": "3000", "CONSOLE_CONFIG": "config\\console.dev.json", //此json配置了启动时的一些项目参数,可选 "CONSOLE_CONFIG_PATH": "C:\\Users\\jim.hu\\Desktop\\project\\operaconnector-console" }, "args": ["${workspaceFolder}\\server.dev.ts"] //此文件就是项目的启动文件,如启动Koa,再由koa加载前端react资源
}
]
}