码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 前端笔记1 使用 babel 将 ES6 代码转为 ES5


    文章目录

    • 运行环境
    • ES6 新特性
    • 使用 babel 对 ES6 代码转为 ES5
      • 安装 babel
      • ES6 代码
      • 配置 babel
      • 安装 es2015 转码器
      • 使用命令进行转码

    运行环境


    • Node.js
    • Visual Studio Code

    ES6 新特性


    ES6 是 2015 年推出的,虽然距离现在已过去了七年,但是该版本相对比 ES5 添加了许多新特性,能满足大部分的开发需求,故有很广的运用范围,就跟 Java 中的 JDK8 类似。
    ES6的新特性包括:

    • 新的定义方式 const、let
    • 箭头函数
    • 解构赋值
    • 模板字符串
    • Symbol 数据类型
    • 新的数据结构 Set 和 Map
    • Promise 异步编程解决方案
    • Iterator 迭代器 和 for…of 遍历迭代器
    • Class ,面向对象编程
    • 模块化编程

    …等等

    使用 babel 对 ES6 代码转为 ES5


    项目结构:

    |—— dist 存放转码后的结果目录
    |
    |—— src	存放资源文件
    |      |—— demo.js 测试的ES6代码 
    |   
    |—— .babelrc	 Babel 的配置文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装 babel

    babel 是转码器,支持将 高版本ECMAScript(简称ES) 的代码转换成 ES5 的代码,ES5 的代码在不同的浏览器上的兼容性比 ES6 的代码好一些,但是性能不如高版本。

    第一步,使用 node 的命令安装 babel 脚手架工具

    npm install --location=global babel-cli
    
    • 1

    ES6 代码

    第二步,编写 ES6 规范的 JS 代码

    let a = [1, 2, 3]
    m = a.map(item => item + 1)
    console.log(m)
    
    • 1
    • 2
    • 3

    配置 babel

    Babel 的配置文件名固定为 .babelrc,存放在项目的根目录下,该文件用来设置转码规则和插件,基本格式为:

    {
      "presets": [],
      "plugins": []
    }
    
    • 1
    • 2
    • 3
    • 4

    第三步,在presets 字段设定转码规则,设置为 es2015 ,表示 ES6

    {
      "presets": ["es2015"],
      "plugins": []
    }
    
    • 1
    • 2
    • 3
    • 4

    安装 es2015 转码器

    第四步,安装 es2015 的 转码器

    npm install --save-dev babel-preset-es2015
    
    • 1

    使用命令进行转码

    转码通常有两种情况:1)转码单个文件 2)转码整个目录
    转码单个文件

    # 创建存放结果的文件夹( 若有则忽略 )
    mkdir dist
    
    babel src/demo.js --out-file dist/dmeo_es5.js
    # 其中 --out-file 可简写为 -o
    
    • 1
    • 2
    • 3
    • 4
    • 5

    转码整个目录中的JS文件

    # 创建存放结果的文件夹( 若有则忽略 )
    mkdir dist
    
    babel src --out-dir dist
    # 其中--out-dir 可简写为 -d
    
    • 1
    • 2
    • 3
    • 4
    • 5

    转码后的结果:

    "use strict";
    
    var a = [1, 2, 3];
    m = a.map(function (item) {
      return item + 1;
    });
    console.log(m);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    spark order by + limit 导致 java.lang.OutOfMemoryError: Java heap space
    Docker 容器跨主机通信 - Flannel
    HFish蜜罐实践:网络安全防御的主动出击
    工程打包与运行
    python 可视化解释模型
    msssql子查询列传行(stuff() 与for xml path())
    阿里云oss 批量下载图片(目标文件)阿里云oss
    C51智能小车(循迹、跟随、避障、测速、蓝牙、wifie、4g、语音识别)总结
    【Python模块】日期时间
    计算机毕业设计SSM电商后台管理系统【附源码数据库】
  • 原文地址:https://blog.csdn.net/Unirithe/article/details/126519315
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号