簡體   English   中英

如何配置WebPack以支持Breeze-Client + DataJS的“global.window”

[英]How to configure WebPack to support “global.window” for Breeze-Client+DataJS

我正在嘗試將項目從SystemJS轉換為使用breeze-client和datajs的WebPack(用於OData支持)。 總的來說,這是一個angular2應用程序,因此breeze-bridge-angular2也是該項目的一部分。

雖然SystemJS版本運行正常,但WebPack版本會拋出錯誤:

無法初始化OData。 需要支持遠程OData

顯然,問題是breeze-client無法在global.window.OData中找到OData庫。 一些快速調試表明,根本原因似乎是“global.window”通常是未定義的(在函數__requireLibCore中)。 請注意,datajs似乎正確地包含在webpack中,因此問題不是缺少datajs,而是breeze-client一般無法訪問“窗口”。

調試細節

我對整個主題都很陌生,所以我很難找到正確的解決方案。 我相信需要在webpack中配置一些東西以使其工作,但我不確定這是什么東西 - 我在這里模糊的道歉 - 可能是webpack.config.js中的一些import-loader或ProvidePlugin引用。

任何幫助將非常感激。

我有同樣的問題,並使用webpacks importsloader來解決這個問題。 它允許您將變量注入模塊。 更多信息在這里

繼承我webpack配置的片段:

        { test: require.resolve('breeze-client/breeze.debug'), loader: 'imports-loader?this=>window,global=>{window: this}'},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM