В составном проекте TypeScript, использующем ссылки на проект, не удается импортировать файл, который импортирует файл JSON из `src` в` test` - PullRequest
0 голосов
/ 10 апреля 2020

Я использую отдельные tsconfig s для разных папок в моем проекте. а именно src и tests.

tsconfig.base.json

//...
  "resolveJsonModule": true,
//... 

SR C

У меня есть src/index.ts

import * as data from "./data.json";
const foo = () => return data;
console.log(foo())
export default foo;

с src/tsconfig.json как таковым

{
  "extends": "../tsconfig.base.json",
  "compilerOptions": {
    "composite": true
  },
  "files": [
    "data.json"
  ]
}

tsc -B src работает нормально, я предполагаю, что это означает, что файл JSON был импортирован без проблем

Кроме того, запустив встроенный файл : node lib/index.js аккуратно записывает файл JSON. так что никаких проблем здесь.

ИСПЫТАНИЯ

и tests/index.test.ts

import * as test from 'tape'
import func from 'src/index`;
test('index file', (t) => {
    t.ok(func());
    t.end()
})

с tests/tsconfig.json как таковым

  {
    "extends": "../tsconfig.base.json",
    "files": [
      "../src/data.json"
    ],
    "references": [
      { "path": "../src" }
    ]
  }

tsc -B tests работает нормально, но работает ts-node node_modules/tape/bin/tape tests/**/*.ts выдает ошибку Cannot find module './data.json'. Consider using '--resolveJsonModule' to import module with '.json' extension


Кажется, тестовые файлы не могут разрешить импорт JSON. У кого-нибудь есть указания относительно того, что мне здесь делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...