小编Siv*_*iva的帖子

使用别名而不是相对路径创建的打字稿声明文件

编辑 1:将 GitHub URL 添加到项目中

编辑2:删除baseUrl修复tsconfig.json所有问题并使用相对导入效果很好。

链接:Github

如何生成带有相对路径而不是 的打字稿声明文件alias

我正在 UMD 模式下创建一个库(samplelibrary)并将其发布到 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");
}
Run Code Online (Sandbox Code Playgroud)

预期文件:

declare const Foo: {
   bar: typeof import("./utils/bar");
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "esnext",
    "moduleResolution": "node",
    "jsx": "react",
    "sourceMap": true,
    "rootDir": "./",
    "baseUrl": "./src",
    "paths": {
      "@samplecompany/sampleproject": ["./"]
    }, …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs tsconfig ts-loader typescript-typings

13
推荐指数
2
解决办法
8279
查看次数