码农知识堂 - 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
  • 相关阅读:
    魔兽世界开服一条龙服务端架设服务器搭建
    JVM加载class文件的原理简介说明
    C#,人工智能,机器人路径规划(Robotics Pathfinding)DStarLite(D* Lite Algorithm)优化算法与C#源程序
    基于C++的回溯法解决旅行售货员(TSP)问题
    试用期生存指南
    LeetCode每日一题(985. Sum of Even Numbers After Queries)
    第44节——redux store
    双非本两年经验,靠这套Java面试题拿下拿下阿里、百度、美团、滴滴、快手、拼多多等大厂offer
    矩阵分析与应用-4.7-QR分解及其应用-Section2
    算法金 | 一文彻底理解机器学习 ROC-AUC 指标
  • 原文地址:https://blog.csdn.net/Unirithe/article/details/126519315
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号