У меня есть проект 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"
]
}
Пакет A содержит следующий код:
const data = require('./myData.json');
Пакет B зависит от пакета A. Внутри пакета B вызывается функция, экспортируемая пакетом A, и поэтому загружается приведенный выше код. Тем не менее, я получаю Error: Cannot find module './myData.json'
в этом контексте. Теперь, просматривая каталог вывода компилятора для пакета A, я не вижу файл JSON. Действительно, заглянув в каталог node_modules
пакета B в пакете A, я тоже не вижу там файла.
Почему файл JSON может отсутствовать в опубликованном пакете? Что-нибудь особенное, что нужно сделать, чтобы включить файлы ресурсов (JSON, обычный текст) в пакет Typescript?