0

我有一个带有一些 mocha 测试的打字稿项目,开始是这样的:

import { assert } from "chai";
import "@material/mwc-ripple"; //I want to test a script that uses this

describe("simple test", () => {
    it("works", () => {
    assert.isOk(true)
  });
});

在 mochatsconfig.test.json中,如果我设置"module": "esnext"我会收到以下错误:

/home/ec2-user/environment/frontend/test-mocha/common/datetime/aaa_aaa_test.ts:1
import { assert } from "chai";
       ^

SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    ...

但是如果我将它设置为"module": "commonjs"我得到这个错误:

/home/ec2-user/environment/frontend/node_modules/@material/mwc-ripple/mwc-ripple.js:1
import { __decorate } from "tslib";
       ^

SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    ...

发生了什么事,我应该如何解决?

4

1 回答 1

0

啊哈,我想我找到了罪魁祸首!

如果我改变

import "@material/mwc-ripple";

import { Ripple } from "@material/mwc-ripple";

它清除了错误。我猜测 ts-node 的不同导入语法提示将导入的文件解析为 javascript 或 typescript。也许?

于 2020-05-08T07:25:25.980 回答