小编ple*_*hat的帖子

在 VSCode 的 NodeJs 调试器中使用“esm”

我正在使用 Vscode。

我有一个 js 文件,里面有十几个类定义,我想在另一个 jsfile 中可用。所以我在另一个文件 main.js 中使用了 es6 导入

//main.js
import * as Helper from './helperClasses.js';
var myDoggy = new Helper.Pet("Fido");
Run Code Online (Sandbox Code Playgroud)

但这不会在 node 上运行,所以我用 npm 安装了“esm”,并创建了一个名为 server.js 的文件,我在其中添加了

//server.js
require = require("esm")(module/*, options*/)
module.exports = require("./main.js")
Run Code Online (Sandbox Code Playgroud)

现在它与代码运行器扩展一起运行,或者从带有“-r esm”参数的 cmd 窗口运行(即node -r esm server.js)。但是在 vsCode 调试器中,我收到以下错误:

import * as helper from './helperClasses.js';
       ^

SyntaxError: Unexpected token *

Run Code Online (Sandbox Code Playgroud)

我尝试按如下方式更改 launch.json 中的配置设置,但这不起作用:

"configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}\\game.js",
            "args": ["-r","esm","server.js"]
        }
    ]
Run Code Online (Sandbox Code Playgroud)

我去将 …

javascript node.js ecmascript-6 visual-studio-code

7
推荐指数
2
解决办法
2160
查看次数