如果浏览器是Internet Explorer 11,如何防止在App.js中导入

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

我正在为项目使用Vue.js,毫不奇怪,IE11中存在问题。我缩小了范围,似乎是我使用名为“ lottie-vuejs”的插件/组件的问题。

在IE11中,我收到一个错误:SCRIPT1009:预期为'}'

当我单击错误以查看错误源时,可以在已编译的app.js文件中看到一个方法:

loadJsonData: async function loadJsonData(path) {
      return await axios__WEBPACK_IMPORTED_MODULE_1___default.a.get("/" + path).then(function (response) {
        return response.data;
      });
    }

我尝试过没有运气的promise-polyfill,如果我从app.js中删除了lottie-vuejs的导入,Internet Explorer 11只会渲染我的网站。

如果检测到浏览器是Internet Explorer 11,是否可以防止导入该方法?

我曾尝试将导入内容包装在IF语句中,并将其评估为false作为测试),但是在编译时终端出现错误:

我在app.js中尝试的内容:

if(1 + 1 == 3){
    import LottieAnimation from 'lottie-vuejs' // import lottie-vuejs
    Vue.use(LottieAnimation); // add lottie-animation to your global scope
} 

出现错误:

'import' and 'export' may only appear at the top level

我正在使用Vue.JS和Laravel,如果有帮助的话。

vue.js internet-explorer-11 polyfills lottie
1个回答
0
投票

作为解决我的问题的方法,我使用了一个更旧且更稳定的软件包:https://www.npmjs.com/package/vue-lottie-ssr

我正在使用的软件包未正确构建。现在,它可以在IE11中正常运行,而不会遇到预期的样式问题。

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