【发布时间】:2019-06-12 15:54:48
【问题描述】:
我正在学习 TypeScript,并使用 create-react-app 创建了一个 TypeScript React 应用程序。它使用一个单独的 TypeScript 文件 logic.ts,然后导入一个 JSON 文件
import pastaData from './data/users-pasta.json'
const ParsedUserData = pastaData.map(data => ({name: data.name, gender:data.gender,favorites: data.favorites}));
export const getPastaData = () => ParsedUserData;
它工作正常。但是当我运行我的 Ava 测试时(目前什么都不做)
const {getPastaData} = require( '../src/logic.ts')
describe("A suite", function() {
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
});
我收到以下错误
/src/logic.ts:1 (function (exports, require, module, __filename, __dirname) { import pastaData from './data/users-pasta.json'; SyntaxError: Unexpected identifier
它在这里抱怨“pastaData”导入。
我将 Ava 设置为使用 Typescript(来自 package.json)
{
"ava": {
"compileEnhancements": false,
"extensions": [
"ts"
],
"require": [
"ts-node/register"
]
}
}
现在一直在努力让Ava-ts 工作。同样的问题。
我认为这是 ts-node 的问题,但将所有链接文件更改为“require”证明是有问题的(并且 TypeScript 开始抱怨)。有没有办法让它与'ES-6''imports'一起使用?还是我完全遗漏了什么?
非常感谢任何帮助!
【问题讨论】:
标签: javascript reactjs typescript create-react-app ava