如何正确设置polyfill,以使我的Vue.JS网站在Internet Explorer 11上正常工作?

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

我有一个使用Laravel和Vue.JS构建的项目(也使用Bootstrap-Vue)。一切都可以在包括Edge在内的所有浏览器上正常运行。但是正如您猜中的那样,不是在IE11中。

我尝试了使用babel / polyfills的各种配置。

在我的webpack.mix.js中,我有以下代码:

let mix = require('laravel-mix');

require('laravel-mix-polyfill');

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css')
    .polyfill({
        enabled: true,
        useBuiltIns: "entry",
        targets: { "firefox": "50", "ie": 11 }
    });

我的package.json文件中具有以下依赖项:

"devDependencies": {
        "@babel/polyfill": "^7.8.3",
        "axios": "^0.18.1",
        "bootstrap": "^4.3.1",
        "cross-env": "^5.1",
        "laravel-mix": "^4.0.7",
        "laravel-mix-polyfill": "^1.1.1",
        "lodash": "^4.17.5",
        "mutationobserver-shim": "^0.3.3",
        "node-sass": "^4.13.1",
        "popper.js": "^1.12",
        "portal-vue": "^2.1.4",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.15.2",
        "sass-loader": "^7.1.0",
        "vue": "^2.6.10",
        "vue-template-compiler": "^2.6.10"
    },
    "dependencies": {
        "@chenfengyuan/vue-qrcode": "^1.0.1",
        "bootstrap-vue": "^2.2.0",
        "current-device": "^0.9.1",
        "intersection-observer": "^0.7.0",
        "lottie-vuejs": "0.3.6",
        "moment": "^2.24.0",
        "v-mask": "^2.0.2",
        "vue-autosuggest": "1.8.3",
        "vue-js-toggle-button": "^1.3.3",
        "vue-recaptcha": "^1.2.0",
        "vue-social-sharing": "^2.4.7",
        "vue2-flip-countdown": "^0.9.3",
        "vuelidate": "^0.7.4"
    }

而且我的app.js文件在顶部具有Bootstrap-Vue文档的建议:

import '@babel/polyfill'
import 'intersection-observer' // Optional

我还尝试过在网站顶部的polyfill.io中添加脚本标签。

全部将导致空白屏幕,并显示SCRIPT1002语法错误和SCRIPT5007对象预期错误。我不确定哪里出了问题,不幸的是,我确实需要将此功能用于IE11。我的Vue组件都没有自动关闭刀片文件,如此处类似问题所示。而且我没有使用Vue CLI。

laravel vue.js webpack internet-explorer-11 babel-polyfill
1个回答
1
投票

因此,我决定删除所有组件和插件,以查看Vue和Bootstrap-Vue是否在IE11中可以独立工作。工作正常,我在控制台中收到了通常的Vue开发人员消息。

然后我在每个模块中一个接一个地添加,直到该网站不再在IE11中呈现。这仅在启用lottie-vuejs时发生,并且在检查控制台时显示语法错误(期望'}''。

所以我的项目无法正常运行的原因是由于此插件。

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