当前位置: 首页 > news >正文

Babel6.x 转换ES6

本文介绍Babel6.x的安装过程~

首先呢,可以使用Babel在线转换 https://babeljs.io/repl/

 

然后进入主题:安装Babel(命令行环境,针对Babel6.x版本)

 

1、首先安装babel-cli(用于在终端使用babel)  

  npm install -g babel-cli

 

2、然后安装babel-preset-es2015插件

  npm install --save babel-preset-es2015

  注:Babel5版本默认包含各种转换插件,然而Babel6.x相关转换插件需要自己下载,如transform-es2015-arrow-functions、transform-es2015-classes等,而ES2015 preset包含了所有插件。如果不安装任何插件,那么在命令行进行转换是没有任何效果的!

  其中--save参数自动更新package.json文件,写进依赖项

 

3、在命令行输入:

  babel es6.js --presets es2015

输出:

  "use strict";

  [1, 2, 3].map(function (x) {
    return x * x;
  });

  注:后面的参数--presets es2015表示使用该插件进行编译,如果不写上转换是没有效果的。

 

4、插件配置

  每一次都写上该参数那是很麻烦的,可以在当前目录下新建配置文件 .babelrc。

  但是在windows系统中,不允许直接右键建立没有文件名的文件,可以通过cmd命令行创建:在当前文件夹打开cmd并键入命令

  type nul>.babelrc

  即可在当前目录下建立文件.babelrc,接着在文件中写入:

{
"presets": ["es2015"]
}

  那么就可以直接在命令行中使用babel es6.js进行转换而无需添加表明所用插件的参数

 

  除了建立.babelrc文件之外,也可在package.json中进行配置,添加以下属性即可:

  "babel": {
     "presets": ["es2015"]
  }

 

附Babel常用命令:

1、转换es6.js文件并在当前命名行程序窗口中输出

  babel es6.js

 

2、将es6.js转换后输出到es5.js文件中(使用 -o 或 --out-file )

  babel es6.js -o es5.js 

  babel es6.js --out-file es5.js

 

3、实时监控es6.js一有变化就重新编译(使用 -w 或 --watch )

  babel es6.js -w --out-file es5.js
  babel es6.js --watch --out-file es5.js

 

4、编译整个src文件夹并输出到lib文件夹中(使用 -d 或 --out-dir )

  babel src -d lib
  babel src --out-dir lib

 

5、编译整个src文件夹并输出到一个文件中

  babel src --out-file es5.js

 

6、直接输入babel-node命令,可以在命令行中直接运行ES6代码

  babel-node

相关文章:

  • SharpGL学习笔记(五) 视口变换
  • win2012配置
  • shell运算(加、减、乘、除)
  • 配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)
  • Android listview的item设定高度
  • 解决使用Handler时Can't create handler inside thread that has not called Looper.prepare()
  • Spring注解解释(@Primary、@Qualifier)
  • storm-kafka(storm spout作为kafka的消费端)
  • js没有重载
  • 【索引】Oracle之不可见索引和虚拟索引的比对
  • 分区
  • class文件概述
  • 关于 LVM 逻辑卷管理
  • mysql学习之旅-数据库自动备份和手动恢复
  • 寻找二叉查找树中的下一个结点
  • 分享的文章《人生如棋》
  • 【个人向】《HTTP图解》阅后小结
  • 〔开发系列〕一次关于小程序开发的深度总结
  • angular学习第一篇-----环境搭建
  • ComponentOne 2017 V2版本正式发布
  • express如何解决request entity too large问题
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Object.assign方法不能实现深复制
  • spring boot下thymeleaf全局静态变量配置
  • springboot_database项目介绍
  • Vue.js源码(2):初探List Rendering
  • 基于web的全景—— Pannellum小试
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 移动端 h5开发相关内容总结(三)
  • 终端用户监控:真实用户监控还是模拟监控?
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​力扣解法汇总946-验证栈序列
  • #mysql 8.0 踩坑日记
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #pragma once与条件编译
  • (09)Hive——CTE 公共表达式
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (JS基础)String 类型
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)负载均衡,回话保持,cookie
  • .cfg\.dat\.mak(持续补充)
  • .net 托管代码与非托管代码
  • .net6使用Sejil可视化日志
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [BJDCTF 2020]easy_md5
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [Django ]Django 的数据库操作