#typescript #typescript-types #typescript-declarations #typescript-module-resolution
Вопрос:
Пытаюсь понять, как объединить файлы TS в один файл JS и один файл D. TS. Например,
src/foo.ts
export function testFn() {
return 123
}
пакет.json
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [ "/dist" ],
tsconfig.json
{
"include": [ "src/foo.ts" ],
"exclude": [ "node_modules" ],
"compilerOptions": {
"rootDir": "src"
,"noImplicitAny": true
,"target": "es5"
,"module": "system"
,"moduleResolution": "node"
,"esModuleInterop": true
,"declaration": true
,"outFile": "./dist/index.js"
,"inlineSourceMap": true
,"inlineSources": true
}
}
Скомпилированный, я получаю комплектную систему/es5 js, что нормально, однако я получаю объявления окружения(?) в файле compiled bundled index.d.ts, и я предполагаю, что именно поэтому я получаю ошибку при попытке импортировать его из другого проекта (используя ссылку npm для тестирования):
dist/индекс.d.ts:
declare module "foo" {
export function testFn(): number;
}
a-другой-проект/src/файл.ts:
import foo from "@repo/proj"
Ошибка: Файл «…/proj/dist/index.d.ts » не является модулем
Застрял надолго, если кто-нибудь знает, в чем дело-спасибо за вашу помощь!