gpt4 book ai didi

javascript - 在 VSCode 的 NodeJs 调试器中使用 "esm"

转载 作者:行者123 更新时间:2023-12-01 15:11:32 26 4
gpt4 key购买 nike

我正在使用 Vscode。

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

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

但这不会在 node 上运行,所以我用 npm 安装了“esm”,并制作了一个名为 server.js 的文件,我在其中添加了
//server.js
require = require("esm")(module/*, options*/)
module.exports = require("./main.js")

现在它使用代码运行器扩展程序运行,或者从带有 '-r esm' 参数的 cmd 窗口运行(即 node -r esm server.js )。但是在 vsCode 调试器中,我收到以下错误:
import * as helper from './helperClasses.js';
^

SyntaxError: Unexpected token *


我尝试如下更改 launch.json 中的配置设置,但这不起作用:
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}\\game.js",
"args": ["-r","esm","server.js"]
}
]

我去将 .js 扩展名更改为 .mjs,但随后智能感知停止工作......

有什么我想念的吗?这是我第一次尝试使用 Node,我只是想轻松地导入一些辅助函数。

最佳答案

我对接受的答案有疑问。使用 runtimeArgs效果更好:

    "configurations": [
{
"type": "node",
"name": "import-test-files",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/scripts/import-test-files.js",
"runtimeArgs": ["-r", "esm"]
}
]

关于javascript - 在 VSCode 的 NodeJs 调试器中使用 "esm",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57320264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com