Babel 转码器 § es6转换es5

Babel 转码器 § es6转换es5 实时转码 /  Repl  -babel-node / babel-register(自动转码引入babel-register模块)

配置文件.babelrc

1、Babel 的配置文件是.babelrc,存放在项目的根目录下。使用 Babel 的第一步,就是配置这个文件。

该文件用来设置转码规则和插件,基本格式如下。

{
  "presets": [],
  "plugins": []
}

2、presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。

# 最新转码规则(必须)
$ npm install --save-dev babel-preset-latest

# react 转码规则(必须)
$ npm install --save-dev babel-preset-react

# 不同阶段语法提案的转码规则(共有4个阶段),选装一个
$ npm install --save-dev babel-preset-stage-0
$ npm install --save-dev babel-preset-stage-1
$ npm install --save-dev babel-preset-stage-2
$ npm install --save-dev babel-preset-stage-3

3、然后,将这些规则加入.babelrc

  {
    "presets": [
      "latest",
      "react",
      "stage-2"
    ],
    "plugins": []
  }

注意,以下所有 Babel工具和模块的使用,都必须先写好.babelrc

命令行转码babel-cli

1、Babel提供babel-cli工具,用于命令行转码。

它的安装命令如下。

$ npm install --global babel-cli

2、基本用法如下。

# 转码结果输出到标准输出
$ babel example.js

# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
$ babel index.js --out-file indexEs5.js       //可以将指定的es6的文件转码成es5的新文件   index.js 是es6的文件语法   indexEs5.js 是转换后的es5语法# 或者 babel index.js  --watch --out-file indexEs5.js    //可以时刻的监听index.js中的变化然后 转换成实时的转换成es5的语法到 inedxEs5.js 文件中
# 或者
$ babel index.js -o indexEs5.js

# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
$ babel src --out-dir lib
# 或者
$ babel src -d lib

# -s 参数生成source map文件
$ babel src -d lib -s

3、上面代码是在全局环境下,进行 Babel 转码。这意味着,如果项目要运行,全局环境必须有 Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支持不同项目使用不同版本的 Babel。

一个解决办法是将babel-cli安装在项目之中。

# 安装
$ npm install --save-dev babel-cli

4、我们还可以配置package.json让我们每次转换的时候 不用每次都写 “转换文件” 和 “被转换文件”

然后,改写package.json

{
  // ...
  "devDependencies": {
    "babel-cli": "^6.0.0"
  },
  "scripts": {
    "es6-es5": "babel index.js --out-file indexEs5.js"
  },
}

转码的时候,就执行下面的命令。

$ npm run es6-es5

babel-node

1、babel-cli工具自带一个babel-node命令,提供一个支持ES6的REPL环境。它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。

它不用单独安装,而是随babel-cli一起安装。然后,执行babel-node就进入REPL环境。

$ babel-node
> (x => x * 2)(1)
2

2、babel-node命令可以直接运行ES6脚本。将上面的代码放入脚本文件es6.js,然后直接运行。

$ babel-node es6.js
2

3、babel-node也可以安装在项目中。

$ npm install --save-dev babel-cli

4、然后,改写package.json

{
  "scripts": {
    "script-name": "babel-node script.js"
  }
}

上面代码中,使用babel-node替代node,这样script.js本身就不用做任何转码处理。

babel-register

babel-register模块改写require命令,为它加上一个钩子。此后,每当使用require加载.js.jsx.es.es6后缀名的文件,就会先用Babel进行转码。

$ npm install --save-dev babel-register

使用时,必须首先加载babel-register

require("babel-register");
require("./index.js");

然后,就不需要手动对index.js转码了。

需要注意的是,babel-register只会对require命令加载的文件转码,而不会对当前文件转码。另外,由于它是实时转码,所以只适合在开发环境使用。

  第一步:index.js 入口文件 引入babel-register   引入转换文件 num.js   num这个模块是一个求和功能的模块

  第二步:编写es6求和功能模块

  第三步:node的repl环境运行index.js文件

时间: 2024-10-23 11:20:54

Babel 转码器 § es6转换es5的相关文章

常见的ES6转码(编译)工具——Babel转码器、Traceur转码器

在浏览器里面如何使用?现在ES6的使用也是一个新趋势,下面就来讲解转码的常见方法当ES6不兼容时,需要用到转码工具1.Babel转码器: Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行. 这意味着,你可以用ES6的方式编写程序,又不用担心现有环境是否支持. // 转码前 input.map(item => item + 1); // 转码后 input.map(function (item) { return item + 1; }); 上面的原始代码

ES6入门一:ES6简介及Babel转码器

ES6简介 Babel转码器 Nodejs中使用ES6 WebPack中使用ES6及Babel转码插件 一.ES6简介与转码  1.1一个常见的问题,ECMAScript和JavaScript到底是什么关系? 1996年11月,JavaScript的创造者——Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望JavaScript这种语言能够成为国际标准. 1997年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言

使用babel转码器,让浏览器支持es6语法

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,可是很多浏览器并不支持es6语法,所以我们需要一个转码工具, 把es6的语法转换成浏览器支持的javascript,Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码.在babel的安装设置里我选用的是使用node 来进行安装. 1.在你的项目下输入命令: npm install --save-dev babel-core 按回车健,运行如下: 2.配置文件.babelrc 在项目根目

1.Babel转码器

为什么要使用Babel? 在当代环境中虽然对ES6的支持越来越好,但是大多数还是不支持ES6,这时候我们就需要把已经写好的ES6代码转换成ES5,而Babel就是将ES6转化成ES5的转码器,被广泛使用. 举个栗子: // 转码前 input.map(item => item + 1); // 转码后 input.map(function (item) { return item + 1; }); 配置文件 .babelrc .babelrc是babel的配置文件,放在项目的根目录下,比如现有的

es6 babel转码器安装配置

例如:桌面上新建个文件夹es6,文件夹里新建一个文件es6.js.(iOS系统里安装的,windows还没安装过) 打开小黑窗进入文件夹.(windows要以管理员的方式打开cmd) 1.先全局安装babel-cli,输入命令 sudo npm install babel-cli -g (windows去掉sudo) 2.输入cd Desktop/es6 ; ---(进去文件夹) 3.输入 npm init: 一路回车键 ---(引导你创建一个package.json文件,包括名称.版本.作者这

ES6转ES5:Gulp+Babel

目标: ES6代码转成ES5 对转换后的ES5进行压缩 以上步骤自动监控执行 步骤: 1.安装插件 在命令行中定位到项目根目录 安装全局 Gulp npm install -g gulp 安装项目中使用的 Gulp npm install --save-dev gulp 安装 Gulp 上 Babel 的插件 npm install --save-dev gulp-babel 安装 Babel 上将 ES6 转换成 ES5 的插件 npm install --save-dev babel-pre

ES6转换器之Babel

ES6部分功能没有支持,所以想学习ES6,得先有个转换器,就是将ES6的代码转换为ES5. 我这里用的是Gulp + Bable的形式来将ES6转换为ES5的. 前提: (1).Gulp和Bable都是基于node环境,如果不知道node,建议先看看”初探nodeJS”. (2).说到Gulp,如果你还不是很清楚的话,建议先了解Gulp(”细说Gulp”). OK,从无到有.接下来,我们就一步步搭建这个‘转换神器’吧. Get started 因为是Gulp + Bable的形式,所以得先安装g

ECMAScript6转码器,ES6转ES5

现在越来越多的前端开始关注ES6,也有一部分人开始用ECMAScript 6,但是ES6的一些新的特性并不被低版本的浏览器支持. 所以这次就分享一个ES6转ES5的方法. 一.首先建立一个文件夹,然后里面创建.babelrc文件 有时候这个文件创建不了的,可以从别处复制过来 .babelrc文件的内容填写如下: {"presets": [],"plugins": []}.babelrc的后期修改需要手动填写. 二.npm init来初始化项目(一路回车就可以有yes

es6转es5

一.在没有IDE情况下的转换 在"我的电脑->D盘”新建个文件夹es6,文件夹里新建一个文件es6.js. 打开命令行窗口 1.先全局安装babel-cli,输入命令 npm install babel-cli -g 2.输入 cd d:\es6 ; ---进入文件夹路径 3.输入 npm init: 一路回车键 ---(引导你创建一个package.json文件,包括名称.版本.作者这些信息等) 4.输入 npm install --save-dev babel-cli: ---(安装命