断点调试

在 VSCode 下断点调试

  • 修改 src/config/config.js(多模块项目为 src/common/config/config.js),添加 workers: 1 配置
  • 在项目根目录下添加文件 debug.js (与 development.js 文件同级),内容如下:

    1. const InspectorProxy = require('inspector-proxy');
    2. const proxy = new InspectorProxy({ port: 9999 });
    3. const childProcess = require('child_process');
    4. const instance = childProcess.fork('./development.js', {
    5. execArgv: [ '--inspect' ]
    6. })
    7. instance.on('message', msg => {
    8. if(msg.act === 'inspectPort' && msg.port) {
    9. proxy.start({ debugPort: msg.port });
    10. }
    11. })
    12. instance.on('exit', () => proxy.end());
  • npm install inspector-proxy 安装依赖

  • 添加 VS Code 的调试文件 .vscode/launch.json,内容如下:

    1. {
    2. "version": "0.2.0",
    3. "configurations": [
    4. {
    5. "name": "Attach Worker",
    6. "type": "node",
    7. "request": "attach",
    8. "restart": true,
    9. "port": 9999
    10. }
    11. ]
    12. }
  • 命令行下通过 node debug.js 启动服务,然后在 VS Code 里打开断点调试。

    在 WebStorm 下断点调试

WebStorm 下调试比较简单,直接在根目录 development.js 文件上右键选择 debug 启动即可。

断点调试 - 图1

关于断点调试的更多内容可查看 #716

原文: https://thinkjs.org/zh-cn/doc/3.0/debug.html