Я использую отдельные 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. У кого-нибудь есть указания относительно того, что мне здесь делать?