硅谷外卖学习日记之babelrc

本文详细介绍了.Babelrc文件的作用和结构,它包含preset和plugins,用于将现代JavaScript转译为兼容大部分浏览器的代码。重点讲解了`env`预设的配置,如`modules`和`targets`选项,以及`stage-2`预设。此外,还阐述了插件如`transform-runtime`的功能,用于处理全局对象和方法的编译。文章还提到了如何创建自定义预设并配置相关选项,以确保代码在不同环境下的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

babelrc
/*
.babelrc文件由preset和plugins组成,作用是让编码人员放心使用大部分JavaScript方法,然后编译成大部分浏览器兼容的代码
*/
{
"presets" : [插件
[ "env" , {     //官方推荐使用babel-preset-env来替代一些插件包的安装
           //这个{开始的内容是options配置
"modules" : false ,// modules通常都会设置为false,因为默认都是支持CommonJS规范,同时还有其他配置参数:"amd" | "umd" | "systemjs" | //                                      // "commonjs"
"targets" : {    // targets可以制定兼容浏览器版本
"browsers" : [ "> 1%" , "last 2 versions" , "not ie <= 8" ]// 如果设置了browsers,那么就会覆盖targets原本对浏览器的限制配置
}
}],
"stage-2"     //Babel主要提供以下几种转义器包(babel-preset-stage-0/1/2/3)  
           //对应配置文件的配置项(stage-0/1/2/3)
],
"plugins" : [ "transform-vue-jsx" , "transform-runtime" ,[ "component" , [
           //transform-runtime是个插件,它是 为了解决全局对象或则全局方法编译不足的情况,但是他只会对es6             // 法进行转换,而不会对新api进行转换。
{
"libraryName" : "mint-ui" ,
"style": true
}
]]]
}
Babel:下一代JavaScript语法编译器,让你放心使用大部分JavaScript的新的标准方法,然后编译成兼容绝大多数主流浏览器的代码。(对于新的JavaScript,不同版本浏览器对此会有兼容问题)在项目工程脚手架中,一般会使用.babelrc文件,再通过配置一些参数配合webpack进行打包压缩。
Babel转译器---
.babelrc:对 预设(presets)何插件(plugins)进行配置。
有三大不同配置项的转译器:
  1.   语法转义器:主要对JavaScript最新的语法糖进行编译,并不负责转译JavaScript新增的api和全局对象。
  2.   补丁转义器:主要负责转译JavaScript新增的api和全局对象他。
  3.   jsx和flow插件:这类转译器用来转译JSX语法和移除类型声明的,使用Rect的时候可以用到。
创建预设(presets)
主要通过npm安装babel-preset-xx 插件来配合使用,eg:npm install babel-preset-satge-2
{
   "presets":[
        ["env",options],
         "stage-2"
]
}
options配置:
{
  "targets":{
       "chrome":52,
       "browser":["last 2 versions","safari 7"],
       "node":"6.10"
}
   "modules":false
}
target可以指定兼容浏览器版本,如果设置了browsers,那么就会覆盖targets原本对浏览器的限制配置
targets.node正对node版本进行编译
modules通常都会设置false,因为都是默认支持CommonJS规范,同时还有其他配置参数:“amd"|"umd"|"systemjs"|"commonjs"
eg:amd规范,在ng1中会用到的比较多,主要用于依赖注入:
define(['jquery'],function($){
  function myFunc(){};
    return myFunc;
})
stage-2配置:
babel主要提供了以下几种转义器包,括号里面是对于配置文件的配置项(babel-preset-stage-0,babel-preset-stage-1,babel-preset-stage-2,babel-preset-stage-3),不同阶段的转译器之间是包含关系。如babel-preset-stage-0包含babel-preset-stage-1,以此类推。
插件(plugins)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值