Редактировать 1: добавлен GitHub URL в проект
Редактировать 2: удаление baseUrl
из tsconfig.json
исправляет все проблемы, и использование относительного импорта работает нормально.
Ссылка: Github
Как создать файл объявления машинописного текста с относительными путями вместо alias
?
Я создаю библиотеку (samplelibrary) в режиме UMD и публикую ее в npm.В упакованной библиотеке npm есть только папка build
(с типами), package.json
и README.md
. Когда я пытаюсь использовать библиотеку в другом приложении для машинописи, сборка завершается неудачно из-за неверного файла объявления типа, которыйгенерируется.Файл объявления типа содержит псевдоним вместо относительного пути.
Журнал компиляции:
ERROR in /workspace/myproject/node_modules/samplelibrary/build/typings/src/foo.d.ts(403,17):
TS2307: Cannot find module 'utils/bar
Как решить эту проблему?
Фактически созданный файл объявления foo.d.ts:
declare const Foo: {
bar: typeof import("utils/bar");
}
Ожидаемый файл:
declare const Foo: {
bar: typeof import("./utils/bar");
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"moduleResolution": "node",
"jsx": "react",
"sourceMap": true,
"rootDir": "./",
"baseUrl": "./src",
"paths": {
"@samplecompany/sampleproject": ["./"]
},
"outDir": "build",
"removeComments": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"strictNullChecks": true,
"declaration": true,
"declarationDir": "typings",
"importHelpers": true
},
"files": ["types/untyped-modules.d.ts"],
"include": [
"src/**/*",
"test/**/*",
"build/**/*",
"styleguide-renderer/**/*"
],
"exclude": ["node_modules"]
}
Структура папки:
root
-src
-utils
-bar.ts
-foo.ts
utils / bar.ts
export const bar = {
hello: "World"
}
src / foo.ts
import { bar } from "./utils/bar.ts
export default const Foo = {
bar
};