Sta*_*lfi 5 javascript typescript webpack babeljs ts-loader
[它只感染打字稿库创建者]
如果代码库包含绝对路径(通过配置tsconfig.json和 webpack),那么 typescript 编译器将生成具有相同绝对路径的所有 d.ts 文件,这些文件是无用的,因为我的 lib 消费者无法使用它们做任何事情。
我看到的每个图书馆都在执行以下操作之一:
显然,这两种选择都很糟糕。
我找不到可用的库。
我创建了一个库,它生成带有绝对路径的损坏的 d.ts 文件:
https://github.com/stavalfi/lerna-yarn-workspaces-example/tree/master/packages/x-core
索引.ts:
import { z, x } from 'shalom' // problem
export default function awesomeFn(y: number): x {
return z(1)
}
export { z, x } from './shalom' . // not a problem
Run Code Online (Sandbox Code Playgroud)
生成的index.d.ts:
import { x } from './shalom'; /// GOOD - becuase I used relative
export default function awesomeFn(y: number): x;
export { z, x } from 'shalom'; /// BAD - because I used absolute
//# sourceMappingURL=index.d.ts.map .
Run Code Online (Sandbox Code Playgroud)
是否有任何类型的解决方案/解决方法不会停止使用绝对路径或手动创建我自己的 single.d.ts 文件?
如果任何打字稿库创建者仍然有这个问题,我为 babel-plugin-module-resolver 创建了一个 Webpack 加载器,它将绝对路径转换为相对路径: https ://github.com/stavalfi/babel-plugin-module-resolver-装载机
*.d.ts它还通过将绝对路径转换为相对路径来解决文件的问题。
您可能需要订阅/阅读此线程以获取其他解决方法: https://github.com/Microsoft/TypeScript/issues/15479
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |