亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓 webpack 在打包時不使用 window 對象?

如何讓 webpack 在打包時不使用 window 對象?

慕妹3146593 2022-12-22 15:56:00
我正在制作一個 React 組件庫來抽象出我在多個項目中使用的一些組件。有些項目是用 CRA 制作的,有些是用 Gatsby 制作的,有些可能是其他東西,等等。我使用了 Neutrino.js 框架/工具鏈,因為它鏈接在 React 文檔站點上,但我遇到的問題是默認情況下輸出構建的文件都使用該window對象,這會導致gatsby build中斷,因為windowNode/SSR 中不存在。有沒有辦法讓 Neutrino/webpack 輸出一個不使用窗口的包?在尋找解決方案并與其他庫進行比較時,似乎 ESM 是最好的,但我不確定如何讓 webpack 使用它,我認為它目前不受支持。我應該為此使用其他工具嗎?
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

將globalObject配置添加到您的 webpack 配置中:


output: {

    globalObject: "this",

  },

默認是window


例如:


要使 UMD 構建在瀏覽器和 Node.js 上都可用,請將 output.globalObject 選項設置為“this”。


module.exports = {

  // ...

  output: {

    library: 'myLib',

    libraryTarget: 'umd',

    filename: 'myLib.js',

    globalObject: 'this'

  }

};


查看完整回答
反對 回復 2022-12-22
  • 1 回答
  • 0 關注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號