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'
      },
相关推荐
一拳不是超人30 分钟前
Electron主窗口弹框被WebContentView遮挡?独立WebContentView弹框方案详解!
前端·javascript·electron
wuhen_n1 小时前
代码生成:从AST到render函数
前端·javascript·vue.js
Lee川1 小时前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试
wuhen_n1 小时前
AST转换:静态提升与补丁标志
前端·javascript·vue.js
destinying2 小时前
性能优化之实战指南:让你的 Vue 应⽤跑得飞起
前端·javascript·vue.js
晴殇i3 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
BER_c4 小时前
前端权限校验最佳实践:一个健壮的柯里化工具函数
前端·javascript
敲敲敲敲暴你脑袋4 小时前
写个添加注释的vscode插件
javascript·typescript·visual studio code
SuperEugene5 小时前
后台权限与菜单渲染:基于路由和后端返回的几种实现方式
前端·javascript·vue.js
csdn飘逸飘逸5 小时前
Autojs基础-全局函数与变量(globals)
javascript