Chai 导入时出现意外令牌
Chai Unexpected token when importing
所以我有这个非常非常简单的虚拟测试:
import {expect} from 'chai';
describe('calculate', function () {
it('add', function () {
let result = 2 + 5;
expect(result).equal(7);
});
});
我在 运行 时收到以下错误:
(function (exports, require, module, __filename, __dirname) { import { expect } from 'chai';
^
SyntaxError: Unexpected token {
谁能告诉我这是怎么回事?
您需要转译代码才能使用 commonjs 导入。您可以使用 babel 来完成这样的任务,请参阅文档 https://babeljs.io/docs/en/babel-plugin-transform-modules-commonjs.
通过 cli,您可以 运行 babel --plugins @babel/plugin-transform-modules-commonjs script.js
然后只需 运行 您的脚本。
如果您不想使用转译(使用 babel 或其他)或 commonjs,您可以使用加载程序,例如 esm
: https://www.npmjs.com/package/esm.
根据文档,在 运行ning yarn add esm
之后你可以 node -r esm main.js
.
所以我有这个非常非常简单的虚拟测试:
import {expect} from 'chai';
describe('calculate', function () {
it('add', function () {
let result = 2 + 5;
expect(result).equal(7);
});
});
我在 运行 时收到以下错误:
(function (exports, require, module, __filename, __dirname) { import { expect } from 'chai';
^
SyntaxError: Unexpected token {
谁能告诉我这是怎么回事?
您需要转译代码才能使用 commonjs 导入。您可以使用 babel 来完成这样的任务,请参阅文档 https://babeljs.io/docs/en/babel-plugin-transform-modules-commonjs.
通过 cli,您可以 运行 babel --plugins @babel/plugin-transform-modules-commonjs script.js
然后只需 运行 您的脚本。
如果您不想使用转译(使用 babel 或其他)或 commonjs,您可以使用加载程序,例如 esm
: https://www.npmjs.com/package/esm.
根据文档,在 运行ning yarn add esm
之后你可以 node -r esm main.js
.