jt8hao
买个萝卜
采纳率0%
2019-12-16 18:13 阅读 1.5k

Vue项目兼容IE浏览器 使用babel-preset-env后依然无效

如题,使用babel-preset-env配置后 进行 run build 打包编译,打包后的代码 如 箭头函数,let 依然没有转为ES5语法,导致IE浏览器报错

报错如图(IE10):

图片说明
图片说明

以下是babel-preset-env相关配置:

//babel.config.js:

const plugins = [];
if (['production', 'prod'].includes(process.env.NODE_ENV)) {
    plugins.push("transform-remove-console")
}

module.exports = {
    presets: [
        [
            "@vue/app",
            {
                "useBuiltIns": "entry",
                polyfills: [
                    'es6.promise',
                    'es6.symbol'
                ]
            }
        ]
    ],
    plugins: plugins
};

//.babelrc

{
  "presets": [
    "@babel/preset-env"
  ],
  "plugins": [
    "@babel/plugin-transform-runtime"
  ]
}

//Vue.config.js

module.exports = {
    transpileDependencies: ['webpack-dev-server/client'],
    publicPath: process.env.NODE_ENV === 'production' ? '/cdss/' : '/',
    outputDir: 'cdss',
    assetsDir: 'static',
    chainWebpack: config => {
        config.entry.app = ['babel-polyfill', './src/main.js'];
    }
};

//main.js

import '@babel/polyfill'; //第一行
import Es6Promise from 'es6-promise'
Es6Promise.polyfill();
//...其他常规配置

//package.json

//...其他常规配置
"browserslist": [
    "> 1%",
    "last 2 versions",
    "ie <=8"
  ]

难道是哪儿配置有问题吗?怎么改都不行

这是我看的教程帖.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • u012377866 欧阳筱苒 2019-12-17 14:46

    不要用es6语法,所有不被打包的代码都改成 es5

    点赞 评论 复制链接分享

相关推荐