首页 > 其他分享 >关于babel

关于babel

时间:2024-10-21 17:47:31浏览次数:6  
标签:文件 插件 babel js 预设 preset 关于

目录

介绍

下载

配置 

创建.babelrc文件或者babel.config.js文件

创建.babelrc文件时配置如下

创建babel.config.js文件的话只需要将以上对象抛出即可(作者比较懒!!!)

presets预设

plugins插件

测试

下载

运行 


介绍

babel是一款代码的转码器,他可以将es6的代码转义es5,以便兼容一些比较老旧的浏览器,废话不多说想必能用到babel的应该知道他的作用。

下载

npm install --save-dev @babel/core

配置 

创建.babelrc文件或者babel.config.js文件
创建.babelrc文件时配置如下
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          // 配置Babel转译的目标环境,这里可以指定Android 10.0对应的浏览器版本
          // Android 10.0通常支持ES2017及之前的JavaScript特性
          // 但为了兼容更多设备和浏览器,我们可以选择更旧的ECMAScript版本
          "android": "10.0", // 或者使用更具体的浏览器版本,如 'chrome': '60'
          "chrome": "60",
          "ie": "7" // 如果需要兼容IE浏览器,可以添加此行(但Android 10.0不需要)
        },
        "useBuiltIns": "usage", // 根据代码中的实际使用情况自动引入polyfills
        "corejs": 3 // 指定core-js的版本(如果需要polyfills)
      }
    ]
  ],
  "plugins": [
    "@babel/plugin-proposal-optional-chaining",
    "@babel/plugin-proposal-nullish-coalescing-operator"
  ] // 可以在这里添加其他Babel插件
}
创建babel.config.js文件的话只需要将以上对象抛出即可(作者比较懒!!!)
presets预设

1.下载所需预设这里以 @babel/preset-react举例

npm install --save-dev @babel/preset-react

2.预设,即一组预先设定的插件,是babel插件的组合

3.预设中的执行顺序是从最后开始执行,逆序执行(至于为什么这么设计小编比较水)

其中包含 @babel/preset-env @babel/preset-react等等每一个预设都有不同的作用

plugins插件

当预先设定的不足以使用时可以去官网搜索所需的插件babel官方网站

下载所需的插件这里仅仅使用@babel/plugin-proposal-optional-chaining举例他可以将可选链式符?.转成es5

npm i @babel/plugin-proposal-optional-chaining

测试

下载

@babel/cli可以直接在终端使用

 npm install --save-dev @babel/cli
运行 
npx babel 文件名字

特别强调babel转义时期是在打包之后将代码转义的,如果使用了其他框架例如vite一定要在build中配置上转义的目标target!!! 

例如

 build:{
      cssTarget: 'chrome70', // 注意添加css的低版本兼容,当然也可以配置PostCssPresetEnv
      target: 'es2015', 
    },

最后不出意外就可以转义代码了,如果官网的插件不足以使用可以尝试编写能满足自己需求的插件,如果不能可以找小编给你解决,小编虽然有点懒但是非常乐于助人。(当然是开玩笑的了)

标签:文件,插件,babel,js,预设,preset,关于
From: https://blog.csdn.net/weixin_64195383/article/details/143117115

相关文章

  • 关于maven配置文件settings的参数说明
    Maven的配置文件(Maven的安装目录/conf/settings.xml)和Maven仓库下(默认的Maven仓库的是用户家目录下的.m2文件,可以另行制定)的settings.xml文件在Maven中提供了一个settings.xml文件来定义Maven的全局环境信息。这个文件会存在于Maven的安装目录的conf子目录下面,或者是用户家目......
  • 关于 PbootCMS 授权码的问题及解答
    21.授权码是否可以用于多语言网站的不同子域名?不可以:授权码是绑定特定域名的,不支持不同子域名。例如,en.example.com 和 zh.example.com 需要分别获取授权码。22.授权码是否可以用于多语言网站的不同子目录?可以:授权码支持同一域名下的不同子目录。例如,example.com/en ......
  • 金蝶云星空——关于Webapi保存接口同时自动审核
    问题期望在调用金蝶Webapi接口的新增单据的时候,同时完成提交、审核操作解决方案webapi保存接口有个参数IsAutoSubmitAndAudit,用来在保存时自动提交和审核,传入保存JSON数据时传入此参数设置为true即可实现自动提交审核。说明:为了减少接口调用,简化接口使用,但在实践中很多单......
  • 关于Window10激活相关(自用,过期了再来看看)
    第一步:关闭所有防毒软件,还有Windows防火墙,非常重要,具体的就是:电脑设置-windows安全中心-病毒威胁巴拉巴拉。关闭实时保护,另外下拉打开排除项-添加巴拉巴拉:添加文件就是可以选压缩包等等,添加文件夹就是文件夹那些,会看不见压缩包,各取所需。不然就会出现类似不准打开或者解......
  • 关于jpeg图像文件的二进制结构
    https://blog.csdn.net/sinat_26472165/article/details/85342766JEPG的SOF0图像基本信息-帧结构FFC0-SOF0-图像基本信息同样的,0011指示了SOF0块长度为17个字节。前8个字节分别为:字节数 示例中的值 示例中的含义2 0011 SOF0块长度为17个字节1 08 每个像素的每个颜色分量为......
  • Android 13.0 系统关于安兔兔显示信息的修改
    1.前言在13.0的系统rom定制化开发中,在一些产品开发中,对于安兔兔等第三方检测工具,检测不出某些版本的内核信息等,显示0GB等问题的相关修改,由于不知道安兔兔的检测方式,所以就需要来修改,关于文本上的一些信息了2.系统关于安兔兔显示信息的修改的核心类frameworks/base/core/jav......
  • 关于递归问题的复杂度计算
    背景:前段时间在背八股,手撕快速排序,算法时间复杂度为\(O(nlogn)\),没想太多,记个结论就pass,和当初上算法课的时候一样;然后做小红书笔试题的时候,有一道题是这样:voidfunc(n){if(n==1){printf("good\n");}func(n-1);func(n-1);}    也是问时间复......
  • 关于Jmeter聚合报告Aggregate Report的认识偏差
    目光凝视远方的同时,也请夯实脚下土地。一般我们说起接口的性能指标如何,都离不开rt,但是你真的清楚jmeter相关报告里面关于rt的解释?往往一个小小的指标解读偏差,会带来一场风暴。AggregateReport(聚合报告)这份聚合报告,相信很多同学都不陌生,单纯看这个结果,相信不同的人......
  • 奇怪的错误:关于函数重载,头文件使用和新手避坑的小科普
    奇怪的错误:关于函数重载,头文件使用和新手避坑的小科普题目描述        个小球排成一排,现在有种不同颜色的油漆,给每个小球都涂色。如果相邻两个小球的颜色必须不同,那么共有多少种涂法?输入        一行,两个整数,。输出        一行,一个整数,为满......
  • 2024/10/19日 日志--》关于MySQL中 JDBC的API 详解的整理简述
    今天进一步学习了JDBC中的API,已经可以初步连接数据库了,接下来继续进行学习。点击查看代码--JDBCAPI详解--DirverManager--DriverManager(驱动管理类)作用:1.注册驱动2.获取数据库连接--1.注册驱动--Class.forName("com.mysql.jdbc.Driver");--·需要注意的是:My......