1、安装依赖

npm install --save-dev @babel/core @babel/plugin-transform-runtime @babel/preset-env es6-promise babel-polyfill

 2、 根目录下新建 .babelrc 文件

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

3、修改 babel.config.js

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

4、在vue.config.js中添加

transpileDependencies: ['webpack-dev-server/client'],
  chainWebpack: config => {
    config.entry.app = ['babel-polyfill', './src/main.js'];
  }

5、根目录下新建 webpack.base.conf.js 文件

module.exports = {
    entry: {
        "babel-polyfill": "babel-polyfill",
        app: ["babel-polyfill", "./src/main.js"]
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
            },

        ]
    }
}

6、修改package.json中的"browserslist"

"browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]

7、main.js中加入

import 'babel-polyfill';//放置顶部
import Es6Promise from 'es6-promise'//放置顶部

Es6Promise.polyfill()

8、在打包完成后去掉 script 标签中的 type="module"

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐