Vue3项目ES6转ES5,兼容低版本的硬件设备,React也

1. 安装官方包

core-js@3 是目前最新稳定版,regenerator-runtime 处理生成器函数

npm install --save core-js@3 regenerator-runtime --legacy-peer-deps

2. 配置 Babel(关键:让垫片生效)

找到项目根目录的 babel.config.js(或 .babelrc),修改配置,指定 core-js 版本和垫片方式

复制代码
// 按需组装插件(保留你原有JSX、生产删console的逻辑)
const plugins = [
  '@vue/babel-plugin-transform-vue-jsx', 
  '@vue/babel-plugin-jsx'
]
// 生产环境自动添加移除控制台插件
if (process.env.VUE_APP_ENV === 'prod') {
  plugins.push('transform-remove-console')
}

module.exports = {
  compact: false,
  plugins: plugins, // 直接使用组装好的插件数组
  presets: [
    [
      '@vue/cli-plugin-babel/preset', // 保留Vue CLI原生preset(核心,不能删)
      {
        // 配置core-js垫片(替代babel-polyfill的核心配置)
        useBuiltIns: 'entry', // 强力模式:注入所有缺失特性的补丁
        corejs: 3, // 对应安装的core-js@3版本
        targets: { // 可选:按需兼容,Vue CLI会有默认值,可根据项目修改
          chrome: '50',
          firefox: '50',
          ie: '11',
          safari: '10',
          android: '5'
        }
      }
    ]
  ]
}
3. 全局引入 regenerator-runtime(处理 async/await)

找到项目的入口文件 (一般是 src/main.js / src/main.ts),在第一行引入:

复制代码
// main.js / main.ts 顶部
import 'core-js/stable'
import 'regenerator-runtime/runtime'
import Vue from 'vue'
import App from './App.vue'
// ... 其他代码

我生产遇到的问题

我是webpack打包,vue.config.js 中externals中打包到js中,设备识别不了语法

复制代码
 externals: {
        // vue: 'Vue',
        // 'lottie-web': 'lottie'
      },
相关推荐
十九画生11 小时前
parentID ``` JavaScript 是区分大小写的,所以这两个不是同一个字段。 第二,`parent` 没有声明。 应该先写: `
javascript
怕浪猫11 小时前
Electron 开发实战(十六):总结与展望|生态现状、框架对比、行业趋势与学习指南
前端·javascript·electron
ZengLiangYi12 小时前
批量导入 1000 条对话的性能优化实战
javascript·后端·架构
竹林81812 小时前
用 wagmi v2 + viem 监听合约事件时踩的坑,我花了两天才把"遗漏事件"修好
javascript
YFF菲菲兔13 小时前
finishConcurrentRender 源码解析
react.js
小花酱酱13 小时前
QQ群里只有你一个人?邪门歪道破局之路——AstrBot
javascript
bonechips13 小时前
JS 数组指南:从内存原理到二维矩阵
前端·javascript
YFF菲菲兔13 小时前
reconcileChildren 源码解析
react.js
mONESY13 小时前
前端零基础精讲:Canvas3D、CSS3D、文档流、定位全方位复盘
javascript