Я изучаю TypeScript и создал приложение TypeScript React с create-react-app
. Он использует отдельный файл 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? Или я что-то упускаю совсем?
Любая помощь высоко ценится!