Ts 转译 npm 包中的绝对路径语句

WBOY
发布: 2024-08-29 12:41:52
原创
689 人浏览过

今天我遇到了一个与库、.d.ts 文件和相对路径相关的复杂 Typescript 情况。


我们将 React 组件库(包括类型)发布到 npm。

我们的前端项目像任何其他 npm 包一样包含此库。

通常我们的前端项目在 tsconfig.json 中有选项“skipLibCheck: true”

Ts transpiling absolute path statements in your npm package

我们的一个应用程序没有此标志(默认情况下此标志被禁用,老实说我不知道谁会想要这种行为)

Ts transpiling absolute path statements in your npm package


问题是,标志不存在,我们收到了 ts-error:

Ts transpiling absolute path statements in your npm package

这是一个公平的错误:我们库中的分布式文件试图从绝对路径导入某些内容

雷雷

这一行在库本身中有意义,但在node_modules/bla/bla/bla 中没有意义

Ts 是对的:这是我们这里的绝对路径吗?

Ts transpiling absolute path statements in your npm package

在 dist/ 文件夹中进行挖掘,我检查了一些生成的组件文件是否使用相对路径正确转换:

Ts transpiling absolute path statements in your npm package


恐慌时刻:为什么一些转译的 .d.ts 文件使用绝对路径,而另一些则使用相对路径????


稍后在 GitHub 上发布的一些 Stack Overflow 帖子和问题、主题和讨论(我将跳过不起作用的内容)

我在构建时注意到了这个vite警告

雷雷

Ts transpiling absolute path statements in your npm package

所以...循环依赖就是这样。


我解决了导入语句中的循环依赖关系,现在一切都很好。

长话短说

如果您遇到 Ts 问题?转换库中的绝对路径语句而不是相对路径,
这会导致客户端应用程序中出现 Ts 错误,这可能是由于源代码中的循环依赖造成的。

--
感谢您的阅读

我在 X 的原始帖子

以上是Ts 转译 npm 包中的绝对路径语句的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!