即使使用polyfill,IE 11或更低版本的Vue app空白页面也是如此

问题描述 投票:0回答:1

我有一个在Firefox,Edge和Chrome中运行的Vue应用程序,但是,在IE 11(或更低版本)中,我看到一个空白页面。在IE的控制台中看到类似SCRIPT1002: Syntax error app.jsSCRIPT5022: 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。

有关该应用的一些额外信息:

  • 是使用Vue cli 3创建的
  • 使用打字稿。
  • 使用一些新的js功能,如Object.entries

更新:

看一下错误,我发现IE11在我的应用程序中加载vuex-persist模块时遇到问题。我继续搜索。

typescript vue.js internet-explorer-11 babeljs polyfills
1个回答
1
投票

所以问题在于我正在使用的依赖。 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

© www.soinside.com 2019 - 2024. All rights reserved.