經查,發現我們開發的程式是用webpack打包發佈的,而該頁面在微信小程式打開時,對方註入了幾個微信相關的js腳本,而該腳本也是使用webpack打包生成的。雙方的js代碼導致window.webpackJsonp 被重覆定義。 當兩者的webpack版本不同時,生成的 window.webpack ...
經查,發現我們開發的程式是用webpack打包發佈的,而該頁面在微信小程式打開時,對方註入了幾個微信相關的js腳本,而該腳本也是使用webpack打包生成的。雙方的js代碼導致window.webpackJsonp 被重覆定義。 當兩者的webpack版本不同時,生成的 window.webpackJsonp,並不一致:3.x版,該對象為函數,4.x版(不確定),該對象為數組。所以調用該對象時就產生了上面的錯誤。搜索引擎搜索一通,發現在webpack配置文件中加入以下配置,即可繞過該對象重覆定義問題
output: {
jsonpFunction:"webpackJsonpFunction3f"
}
從webpack官方的API來看,好像這個配置要4.X才支持,但是我們好像3.X的webpack也是有效的。