我有一个在Firefox,Edge和Chrome中运行的Vue应用程序,但是,在IE 11(或更低版本)中,我看到一个空白页面。在IE的控制台中看到类似SCRIPT1002: Syntax error app.js
和SCRIPT5022: SecurityError sockjs.js
的东西。
语法错误转到包含以下内容的行:eval("__webpack_require__.r(__webpack....Verry long string)
。
安全性错误转到包含以下内容的块:
var Driver = global.WebSocket || global.MozWebSocket;
if (Driver) {
module.exports = function WebSocketBrowserDriver(url) {
return new Driver(url); // Where this line is marked
};
} else {
module.exports = undefined;
}
经过一些研究,我发现它可能与缺少的填充物有关。因此,我将import "@babel/polyfill";
添加到main.ts
,将presets: [["@vue/app", { useBuiltIns: "entry" }]]
添加到babel.config.js
。但IE中出现相同的错误。我尝试了https://cli.vuejs.org/guide/browser-compatibility.html中描述的其他一些方法。但没有一个人能成功。
在这一点上,我完全无能为力,因为在互联网上的类似问题都指向缺少polyfill。
有关该应用的一些额外信息:
Object.entries
更新:
看一下错误,我发现IE11在我的应用程序中加载vuex-persist
模块时遇到问题。我继续搜索。
所以问题在于我正在使用的依赖。 vuex-persist
引发了这个问题。解决方法是在vue.config.js
中添加以下内容:
module.exports = {
/* ... other config ... */
transpileDependencies: ['vuex-persist']
}
感谢:https://forum.vuejs.org/t/internet-explorer-11-script1002-blank-page-error/53327/5