babel的一些简单的理解

背景

一直知道babel是转换es6高级语法的,一些es6中的新语法在低版本浏览器中不能解析,导致语句报错。例如vue项目在ie中运行,简直是头大。。。但是遇到问题时候不会解决,不知道应该怎么配置,现在了解了一下

我是针对babel6理解的,babel7项目中现在没有用,所以没去看呢还

配合webpack的使用

package.json中使用babel
在这里插入图片描述
webpack中的配置

module.exports = {
  chainWebpack: config => {
    config.module
      .rule('js')
      .test(/\.js$/)
      .use('babel-loader')
      .loader('babel-loader')
  }
}

项目中都会有一个.babelrc文件或者babel.config.js文件

在这里插入图片描述
里面有两个属性

presets:设定转码规则
plugins:当选择的预设里面没有解析更新的api时候,就需要为了这个新的语法提供插件,例如

{
  "presets": [
    "env"
  ],
  "plugins": [
    "syntax-dynamic-import"  // 这个是为了处理路由懒加载使用import语法的插件,因为使用的预设里面没有处理这个
  ]
}

下面是不用插件项目启动的报错
在这里插入图片描述

为什么使用了babel-preset-env预设就可以解决语法转换

其实没有一种语法转换都有对应的插件去结局,只是项目中会用到很多语法,不能每一次都去把每一个包都下载去载入,所以有了大佬们的总结,直接将这些包都封装到一个里面,这样我们使用时候就比较方便

下面是babel-preset-env依赖到的包

在这里插入图片描述

现在vue-cli3脚手架直接默认配置好了babel,使用的@vue/cli-plugin-babel

但其实和babel-preset-env是一样的,都是预设准备好的,只是@vue/cli-plugin-babel针对项目更全面一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值