vue2 babel-core 6.x 升级到 7.x

2 篇文章 0 订阅
文章介绍了升级到Babel7的步骤,包括删除旧的Babel依赖,安装新的Babel7相关包,调整.babelrc配置,并解决了升级过程中遇到的问题,如模块找不到、不兼容等问题。同时提到了对新特性如可选链操作符和空值合并操作符的支持。
摘要由CSDN通过智能技术生成

一、为什么要升级

因为要使用新特性的时候发现 ?.可选链操作符, ??空值合并操作符, ??=空值合并操作符等。

二、如何升级

1 删除 package.json里面的babel 有关依赖

2 删除node_modules 里面babel有关下载的包

3 安装babel7 相关包

npm install -d

npm install -D '@babel/core' '@babel/cli' '@babel/preset-env' '@babel/plugin-transform-runtime' '@babel/plugin-proposal-class-properties' '@babel/plugin-transform-classes' 
npm install -S  @babel/runtime

4 调整babelrc 配置

"presets": [
    // [
    //   "env",
    //   {
    //     "modules": false,
    //     "targets": {
    //       "browsers": [
    //         "> 1%",
    //         "last 2 versions",
    //         "not ie <= 8"
    //       ]
    //     }
    //   }
    // ],
    // "stage-2",
    // "es2015",
    "@babel/preset-env"
  ],
  "plugins": [
    // "transform-runtime",
    "@babel/plugin-transform-runtime",
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-transform-classes",
    "@babel/plugin-transform-modules-commonjs"   // 如果有些引用插件使用common方式,安装此插件
  ],

三 常见问题

Cannot find module 'babel-core'
npm install babel-loader@8.0.4 -d

babel-loader和babel-core版本不对应所产生的,

babel-loader 8.x对应babel-core 7.x

babel-loader 7.x对应babel-core 6.x

将package.json 中 babel-loader版本指定为 8.x + 即可

export ‘default‘ (imported as ‘xxx‘) was not found in ‘xxx‘

引入 @babel/plugin-transform-modules-commonjs 并配置在 .babelrc 【参看 第二步 调整babelrc 配置】

Cannot find module ‘@babel/preset-env‘

注掉 .babelrc 预处理的 env

如果webpack.base.conf.js 主入口有预处理 babel-polyfilwel,去掉即可

entry: {
    app: "./src/main.js"
    // app: ["babel-polyfilwel", "./src/main.js"]
  },

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ERROR Failed to compile with 48 errors 上午10:53:54 These dependencies were not found: * core-js/modules/es.array.push.js in ./node_modules/.store/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/objectSpread2.js, ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/components/HeaderSearch/index.vue?vue&type=script&lang=js& and 29 others * core-js/modules/es.error.cause.js in ./node_modules/.store/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js, ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Navbar.vue?vue&type=script&lang=js& and 5 others * core-js/modules/es.object.proto.js in ./node_modules/.store/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js * core-js/modules/es.regexp.dot-all.js in ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/components/ThemePicker/index.vue?vue&type=script&lang=js&, ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Navbar.vue?vue&type=script&lang=js& and 2 others * core-js/modules/web.url-search-params.delete.js in ./src/utils/request.js * core-js/modules/web.url-search-params.has.js in ./src/utils/request.js * core-js/modules/web.url-search-params.size.js in ./src/utils/request.js * qs in ./src/utils/request.js * svg-baker-runtime/browser-symbol in ./src/icons/svg/user.svg To install them, you can run: npm install --save core-js/modules/es.array.push.js core-js/modules/es.error.cause.js core-js/modules/es.object.proto.js core-js/modules/es.regexp.dot-all.js core-js/modules/web.url-search-params.delete.js core-js/modules/web.url-search-params.has.js core-js/modules/web.url-search-params.size.js qs svg-baker-runtime/browser-symbol怎么解决如何安装
07-21

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值