[英]Is it possible to overwrite “global” variable via Webpack?
我正在尋找一種方法讓 MathJax 能夠在具有很多限制的特定 JS 運行時上運行。
MathJax 使用global
訪問 MathJax object,這是由 Webpack 編譯成以下代碼段:
function (e, t) {
var n;
n = function () {
return this;
}();
try {
n = n || new Function("return this")()
} catch (e) {
"object" == typeof window && (n = window)
}
e.exports = n
}
上面的代碼將嘗試將全局this
分配給e.exports
,並且 MathJax 源代碼中global
的使用將替換為e.exports
。 但是,在我的 JS 運行時, window
/ global
不可用, function () { return this; }
function () { return this; }
返回undefined
, new Function
受到限制,只返回一個空的 object 而不是 function。
我的問題是,是否可以配置 Webpack 用我指定的其他變量(如limitedGlobal.someVar
)替換global
?
作為參考,我發現上面的代碼片段是在GlobalRuntimeModule.js中定義的,我想更改它的實現。
當然,請看一下globalObject
它的默認值為global="window"
您可以在 webpack 配置中像這樣覆蓋它:
output: {
globalObject: 'this' // or limitedGlobal.someVar in your case
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.