打字稿意外的令牌导入摩卡

mle*_*eaf 6 node.js typescript

我无法使用导入,因为我总是会遇到以下错误:

(function (exports, require, module, __filename, __dirname) { import { expect } from 'chai';
SyntaxError: Unexpected token import
Run Code Online (Sandbox Code Playgroud)

在我的文件中,index.test.ts我有这个:

import { expect } from 'chai';
describe('Hello function', () => {
    it('should return hello world', () => {
        const result = hello();
        expect(result).to.equal('Hello World!');
    });
});
Run Code Online (Sandbox Code Playgroud)

在我package.json有这个:

"scripts": {
"test": "mocha --reporter spec --compilers test/**/*.test.js",     
Run Code Online (Sandbox Code Playgroud)

},

我的tsconfig.json

 {
  "compilerOptions": {
    "target": "es2017",
    "module": "commonjs",
    "lib": [
      "dom",
      "es2015"
    ],
    "outDir": "dist",

    "strict": false
  }
}
Run Code Online (Sandbox Code Playgroud)

请告诉我如何使用进口商品?

小智 3

摩卡 + 打字稿 + es6 模块

  1. tsconfig.json
{
  "compilerOptions": {
    ...
    "module": "commonjs"
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 摩卡选择
--require ts-node/register
--require @babel/register
...
Run Code Online (Sandbox Code Playgroud)

  • 请提供的不仅仅是代码作为答案。相反,对代码的解释以及对它回答问题的原因的细分是最有益的。 (8认同)