现在究竟怎么用babel/polyfill配置兼容IE11啊?

新手上路,请多包涵

2020年了!现在到底怎么才能正确用babel/polyfill?
很多帖子都是几年前的旧帖,是不是已经都失效了,最新的办法是什么?
求指点一个正确的好用的步骤!!

VUEcli + elementUI做的项目,chrome没问题,要求用IE11,
yarn run dev或build后全部都是空白页面,不显示东西,
几乎尝试了百度前10页所有查到的方法,没有一个生效的,之前有报错提示不支持promise什么的,添加了下面的配置之后倒是更加【完全空白】了,不进页面空白,连F12都不报错也是空白了…也就是虽然不报错,但是页面还是白的啊

是babel/polyfill版本问题? 看到个帖子说不用@babel/polyfill,而是分别装core-js@3 和regenerator-runtime也没用!

下面这些 百度到的办法全做了,一律没有生效,
1

安装@babel/polyfill

("babel-polyfill": "^6.26.0",)
main.js引入  
import'@babel/polyfill'

添加要转的第三方

webpack 添加配置

config.entry('main').add("babel-polyfill" './src/main.js')


transpileDependencies: [
'element-ui',
'vuex',
'lodash',
'path-to-regexp',
'vue-router',
'axios'
 ],
 
 
 config.module
      .rule('js')
      .test(/\\.js$/)
      .include.add(resolve('/node\_modules/'))
      .end()
      .use('vue-loader')
      .loader('babel-loader')
      .end()

还有babel.config.js

module.exports\= {
presets: [
    [
        '@vue/app',
      {
        useBuiltIns: 'entry'
      }
   ]
]
}
阅读 11.9k
3 个回答

用百度就是你的不对了。
  先说babel,7.4.0是一个分水岭,百度的估计都是7.4.0之前的配置方案(个别插件废弃 + 配置繁琐),你需要先到package.json看看babel版本。 关于7.4.0之前,之后两种配置的最佳实践,可以下面提到的文章?
  再说所谓的适配,你需要知道IE没有什么而你用了什么。比如,IE并没有内置Promise对象,babel也没帮你加入实现Promise的垫片(polyfill),而webpack编译后的js用了Promise,这就造成Promise not define,你需要知道 1. 识别Promise 2. 明确知道Promise垫片在哪个babel插件里 3. yarn add/npm install 2的插件。好了,带着这个目的,看下https://juejin.im/post/5d0373...
  回到本题,我没用过vue,也没看过vue的webpack源码。但.babelrc配置大同小异,这里给一下我react的配置可供题主参考。


{
"presets": [[
        "@babel/preset-env", {
        "useBuiltIns": "usage",
        //"targets": {},
        "corejs": 3
    }],
    "@babel/preset-react",
],
"plugins": [[
    "@babel/plugin-transform-runtime", {
    "corejs": 3
}]]
}

请问解决了么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题