# 兼容性方案

# 1. 安装依赖

yarn add -D @babel/runtime-corejs3
yarn add core-js

OR

npm i --save-dev @babel/runtime-corejs3
npm i --save core-js

# 2. 更新 .browserslistrc

defaults
ie 8 # 追加

# 3. 配置 babel.config.js

module.exports = function (api) {
  let envOptions = api.env('production')
    ? {
        useBuiltIns: 'entry',
        corejs: { version: '3' }
      }
    : {};
  let runtimeOptions = api.env('production') ? { corejs: 3 } : {};

  return {
    presets: [['@babel/preset-env', envOptions]],
    plugins: [['@babel/plugin-transform-runtime', runtimeOptions]]
  };
};

presets options: 添加 modules: 'commonjs' 可兼容低版本 IE

# 4. 配置 balm.config.js

module.exports = {
  scripts: {
    ie8: true
  }
};

# 5. 更新入口脚本

  • main.js
import './polyfill';

// Your code
  • polyfill.js
import 'core-js/stable';
import 'regenerator-runtime/runtime';
Last Updated: 3 years ago