首頁 > web前端 > js教程 > 主體

Ts 轉譯 npm 套件中的絕對路徑語句

WBOY
發布: 2024-08-29 12:41:52
原創
817 人瀏覽過

今天我遇到了一個與函式庫、.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

這是一個公平的錯誤:我們庫中的分散式檔案試圖從絕對路徑導入某些內容

import { Foo } from 'absolutePath';
登入後複製

這一行在函式庫本身有意義,但在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警告

Export of «module» was reexported through «file» 
while both modules are dependencies of each other 
and will end up in different chunks by Rollup.
登入後複製

Ts transpiling absolute path statements in your npm package

所以...循環依賴就是這樣。


我解決了導入語句中的循環相依關係,現在一切都很好。

長話短說

如果您遇到 Ts 問題?轉換庫中的絕對路徑語句而非相對路徑,
這會導致客戶端應用程式出現 Ts 錯誤,這可能是由於原始程式碼中的循環依賴造成的。

--
感謝您的閱讀

我在 X 的原始帖子

以上是Ts 轉譯 npm 套件中的絕對路徑語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板