使用 ES6 样式导入进行 mocha 测试

use*_*487 5 javascript mocha.js

我正在尝试使用文件中的一些 ES6 样式导入运行 Mocha 测试,但我不断收到错误消息:

import assert from 'assert';
       ^^^^^^

SyntaxError: Unexpected identifier
Run Code Online (Sandbox Code Playgroud)

我试图与这两个调用摩卡 mocha --require @babel/register --recursivemocha --require babel-register --recursive ,但误差不会消失。

运行 ES6 风格的 Mocha 测试的正确方法是什么?

小智 5

对于来自 Google 的任何人:

您还可以安装 esm: npm i esm --save-dev或使用您喜欢的包管理器。

然后将其作为参数传递给 mocha: mocha 'index.test.js' --require esm

  • 这似乎不再起作用了。[这是一个简单的存储库](https://codesandbox.io/s/elated-sun-s0fu5)。如果您在终端中单击“+”,然后输入“npm test”,即使测试命令是“mocha --require esm test”,它也会失败并显示“语法错误:无法在模块外使用 import 语句” (2认同)

小智 3

尝试下面的代码

import { strict as assert } from 'assert';
Run Code Online (Sandbox Code Playgroud)

或者

import * as assert from 'assert';
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助