【发布时间】:2019-08-02 05:08:56
【问题描述】:
我正在使用 Vscode。
我有一个包含十几个类定义的 js 文件,我希望这些定义可以在另一个 js 文件中使用。 所以我在我的另一个文件 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,我只是想轻松地导入一些辅助函数。
【问题讨论】:
标签: javascript node.js ecmascript-6 visual-studio-code