Deno 2 Vscode 调试开始引发大量 js 错误

问题描述 投票:0回答:1

我有一个 Nodejs Express 服务,我们开始使用 Deno 2。它可以从 bash 脚本启动,但我开始尝试在 Vscode 调试(launch.json)中运行。

我按照 deno 页面中所述进行了初始配置https://docs.deno.com/runtime/reference/vscode/并且添加了一些跳过文件来忽略node_internals、node_modules。

但是当我运行调试模式时,开始暂停,并出现来自节点模块内部或 00_infra.js 等文件的许多异常。

其中一些是: 00_infra.js -> 没有这样的文件或目录(操作系统错误 2):Istat '/.dockerenv' util.mjs -> 错误:ENOENT:没有这样的文件或目录,访问“/.dockerenv” 00_infra.js -> 未找到:原始错误:没有查询记录 { name: Name("uri-mongodb"), query_type: AAAA, query_class: IN) 在 async Object.resolveDns (ext: denot_net/01_net.js: 77:12)

如果我快速按 F5(继续)看到这些错误,服务至少会运行并显示连接到 mongodb。

我不确定为什么 bash 脚本运行正常时会发生这种情况。该脚本简单地加载一个 .env 文件并运行 deno task dev,这会从 deno.json 运行一个任务 deno run --watch --allow-* src/server.ts

如果有人有线索,我将非常感激!

launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Deno",
            "type": "node",
            "request": "launch",
            "program": "${workspaceFolder}/src/server.ts",
            "cwd": "${workspaceFolder}",
            "env": {
                "MY_ENV_VAR": "value"
            },
            "runtimeExecutable": "/path/to/deno",
            "runtimeArgs": [
                "run",
                "--inspect-wait",
                "--allow-all"
            ],
            "attachSimplePort": 9229,
            "skipFiles": [
                "<node_internals>/**/*.js",
                "${workspaceFolder}/node_modules/**/*.js",
                "${workspaceFolder}/node_modules/.deno/**/*.js"
            ],
            "outputCapture": "std"
        }
    ]
}
deno
1个回答
0
投票

对我有用的解决方案(可能有些跳过是重复的):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Deno",
            "type": "node",
            "request": "launch",
            "program": "${workspaceFolder}/src/server.ts",
            "cwd": "${workspaceFolder}",
            "envFile": "${workspaceFolder}/.env",
            "runtimeExecutable": "deno",
            "runtimeArgs": [
                "run",
                "--inspect-wait",
                "--allow-all"
            ],
            "attachSimplePort": 9229,
            "skipFiles": [
                "<node_internals>/**",
                "${workspaceFolder}/node_modules/**",
                "${workspaceFolder}/node_modules/.deno/**",
                "${workspaceFolder}/node_modules/.deno/**/node_modules/**",
                "${workspaceFolder}/**/*.js",
                "${workspaceFolder}/**/*.jsx",
                "**/connection_wrap.ts",
                "**/*.mjs"
            ],
            "outputCapture": "std"
        }
    ]
}

如果有人有更好的解决方案请分享! 我希望这对其他人有帮助,不要花几个小时去战斗!

© www.soinside.com 2019 - 2024. All rights reserved.