首页 > 其他分享 >Babel与core-js

Babel与core-js

时间:2024-04-29 22:57:59浏览次数:25  
标签:core 遍历 AST Babel js 语法

1.Babel是把ES6的语法转成ES5

比如:const、箭头函数、...(结构)、模板字符串等等

Babel原理

转译分为三阶段:

解析(Parse),将代码解析⽣成抽象语法树 AST,也就是词法分析与语法分析的过程

转换(Transform),对语法树进⾏变换方面的⼀系列操作。通过 babel-traverse,进⾏遍历并作添加、更新、删除等操作

Ast遍历可以通过深度优先遍历(DFS)或者广度优先遍历(BFS)

⽣成(Generate),通过 babel-generator 将变换后的 AST 转换为 JS 代码

 

 2.core-js

core-js是JavaScript标准库的 polyfill(垫片/补丁)

1.检测新特性是否在window上是否存在或者原型上;

比如:promise、Obect.assign({})、filter等等

2.若不存在,则帮你从对应的包里按需引用

 

标签:core,遍历,AST,Babel,js,语法
From: https://www.cnblogs.com/ssszjh/p/18166782

相关文章

  • vue.js 3 初学经验:开发环境搭建,Windows,nginx
    Windows11nginx-1.20.0"vue":"^3.4.21"--- 序章vue3开发,不需要后端服务业是可以的。在需要后端服务时,使用nginx来转发请求是很好的(个人开发者)。 注,还有什么其它方式吗?注,本文的后端服务是使用Java开发的HTTP接口。注,参考资料#2介绍了多个vue.js3.0项目......
  • 给Qt搭建一个简单的Json服务器用于软件调试
    一.vscode+nodejs+npm安装二.nodejs服务器开启打开vscode-终端-新建终端进入json_server目录cdD:\json_server运行启动命令,启动json-server服务器npmrunjson:server效果如下:PSD:\json_server>npmrunjson:server>[email protected]:se......
  • Asp-Net-Core开发笔记:使用AOP实现动态审计日志功能
    前言#最近一直在写Go和Python,好久没写C#,重新回来写C#代码时竟有一种亲切感~说回正题。在当今这个数字化迅速发展的时代,每一个操作都可能对业务产生深远的影响,无论是对数据的简单查询,还是对系统配置的修改。在这样的背景下,审计日志不仅仅是一种遵循最佳实践的手段,更是......
  • 使用 docker 部署 AspNetCore 应用:使用alpine镜像并加入健康检查和瘦身
    前言#使用docker部署AspNetCore应用已经是标配了,之前我一直使用mcr.microsoft.com/dotnet/aspnet:8.0这类镜像,简单粗暴,不过可以使用alpine进一步优化镜像大小。很多开源工具的docker都有健康检查,这次我顺便也给加上了。PS:本文的例子项目来自一个差点被砍掉的项目......
  • html-docx-js 导出word
    1:列表页面按钮<el-buttontype="warning"plainicon="el-icon-download"size="mini"@click="exportWorddata">导出word</el-button> <......
  • 视野修炼-技术周刊第82期 | Node.js v22
    欢迎来到第82期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • JS代码混淆
    开源代码混淆加密JJEncodeAAEncodeJSFuckhttps://www.sojson.com/ 首先拿一段示例代码functionaa(){console.log('123');}aa();控制台中输出会显示123。 aaencode加密结果゚ω゚ノ=/`m´)ノ~┻━┻//*´∇`sojson.com*/['_'];o=(゚ー゚)=_=3;c=(゚Θ゚)=(゚ー゚)-(゚ー゚);......
  • Nuxt2项目Js文件使用Vuex
    背景当前项目是Nuxt2框架,建立了Vuex仓库。通过返回一个函数的形式,建立Vuex代码如下importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)conststore=()=> newVuex.Store({ state:{ name:'abc' }, mutations:{ setName(state,data){ ......
  • js 链式调用
    functionarrany(name){lettasks=[]tasks.push(()=>{console.log(name)})functionwait(duration){tasks.push(()=>newPromise(resolve=>{setTimeout(resolve,duration)}))returnthis}functionexecute(......
  • Asp-Net-Core开发笔记:进一步实现非侵入性审计日志功能
    前言上次说了利用AOP思想实现了审计日志功能,不过有同学反馈还是无法实现完全无侵入,于是我又重构了一版新的。回顾一下:Asp-Net-Core开发笔记:实现动态审计日志功能现在已经可以实现对业务代码完全无侵入的审计日志了,在需要审计的接口上加上[AuditLog]特性,就可以记录这个接口......