我有一個需要在專案ts代碼中使用的第三方庫,使用HTML中的CDN路徑添加到應用程式中。而這個庫是匯出一個視窗變數,代碼中用到的。
該包不能作為 npm 模塊使用。運行 webpack 構建時失敗并顯示以下錯誤訊息:
error TS2304: Cannot find name 'CUSTOM_WINDOW_VARIABLE'.
我在 webpackconfig.js 檔案中添加了這個名稱:
externals: {
CUSTOM_WINDOW_VARIABLE: "CUSTOM_WINDOW_VARIABLE",
},
但仍然得到同樣的錯誤。
如何告訴 webpack 在構建時忽略這些全域變數。或將它們轉換為window.CUSTOM_WINDOW_VARIABLEfrom CUSTOM_WINDOW_VARIABLE。
uj5u.com熱心網友回復:
據我所知,您的問題根本不是問題webpack。問題很可能是從ts-loader使用tsc編譯器的tsx?檔案中拋出的,因此為了解決此問題,您可能需要定義全域值的型別,該型別可在window以下步驟中使用:
- 創建您的專案,輸入 dir 和檔案
types/global.d.ts(您可以隨意命名,如果不知道如何命名,請隨意使用我建議的名稱),內容如下:
// global.d.ts
// You can define your own type by replacing with the exact type
declare const CUSTOM_WINDOW_VARIABLE: any;
- 通過添加到配置選項,確保
tsconfig.json在大多數情況下放置在 repo 的根目錄中的 which 包含您的types目錄include:
// tsconfig.json
{
"include": ["types", ...]
}
希望它適用于您的情況
PS:如果你import的庫不是as externals,基本上你不必externals在你的webpack.config檔案中配置屬性
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/358418.html
標籤:javascript 打字稿 网络包
