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'
      },
相关推荐
子兮曰10 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
强尼银手11 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
总要学点什么12 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
OpsEye13 小时前
混合云 AI 架构,如何统一做敏感内容拦截?
javascript·ai编程
Funlang14 小时前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
古茗前端团队15 小时前
由 key 引发的思考
前端·javascript·react.js
kyriewen15 小时前
我扫了 422 个仓库,近一半 CI 在裸装依赖
前端·javascript·程序员
vipxieliang19 小时前
JavaScript 迭代器与生成器:控制异步与惰性求值
前端·javascript
Hilaku19 小时前
Event Loop 这篇你看完就不用再看别的了!
前端·javascript·程序员
晓得迷路了20 小时前
栗子前端技术周刊第 153 期 - Vitest 5.1、Remix v3.2、Node.js 27 Alpha...
前端·javascript·vite