我正在为项目使用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,如果有帮助的话。
作为解决我的问题的方法,我使用了一个更旧且更稳定的软件包:https://www.npmjs.com/package/vue-lottie-ssr
我正在使用的软件包未正确构建。现在,它可以在IE11中正常运行,而不会遇到预期的样式问题。