Файл ресурсов отсутствует в пакете TypeScript

У меня есть проект Lerna, содержащий два пакета Typescript A и B. tsconfig.json для обоих пакетов:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "esModuleInterop": true,
    "noImplicitAny": false,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "removeComments": false,
    "preserveConstEnums": true,
    "sourceMap": true,
    "allowJs": false,
    "resolveJsonModule": true,
    "declaration": true,
    "moduleResolution": "node",
    "lib": ["es2015", "dom"]
  },
  "include": [
    "src",
    "test"
  ],
  "exclude": [
    "node_modules/**",
    "packages/*/node_modules/**",
    "examples/*/node_modules/**",
    "**/*.d.ts"
  ]
}

Пакет А содержит следующий код:

const data = require('./myData.json');

Пакет B зависит от пакета A. Внутри пакета B выполняется вызов функции, экспортированной пакетом A, поэтому загружается приведенный выше код. Однако я получаю Error: Cannot find module './myData.json' в этом контексте. Теперь, просматривая выходной каталог компилятора для пакета A, я не вижу файл JSON. Действительно, заглянув внутрь каталога node_modules пакета B в пакете A, я тоже не вижу там файла.

Почему файл JSON может отсутствовать в опубликованном пакете? Есть ли что-то особенное, что нужно сделать, чтобы включить файлы ресурсов (JSON, открытый текст) в пакет Typescript?


person Boon    schedule 31.08.2018    source источник
comment
Насколько мне известно, tsc не имеет возможности копировать файлы ресурсов; вам нужно будет использовать отдельный инструмент. Я оставлю вопрос без ответа, чтобы побудить людей предлагать свои любимые инструменты/подходы.   -  person Matt McCutchen    schedule 01.09.2018
comment
Спасибо! Я этого не осознавал. Эта ссылка кажется актуальной для вашего ответа: stackoverflow.com/questions/38708200/   -  person Boon    schedule 03.09.2018