现在ES6盛行,开始大量使用ES6的特性敲代码,但限于Node.js本身对ES6的特性支持的不够完备,那么需要借助于其他工具来完成。

基本上,现在都直接写ES6的代码,然后使用babel-cli提供的babel转换成ES5或者使用babel-node直接运行ES6的代码。

安装

执行命令,全局安装babel-cli。

npm install babel-cli -g

babel-cli有两个主要的命令需要用到:

  • babel:按照“.babelrc“文件转码js文件。
  • babel-node:提供一个支持ES6的REPL环境,支持Node的REPL环境的所有功能,可以直接运行ES6代码。

直接运行ES6代码文件

建一个工作文件夹,写一个如下简单代码的index-es6.js文件。

let [a, b, c] = [1, 2, 3]
console.log(a, b, c)

运行命令执行index-es6.js文件。

babel-node index-es6.js

执行后可以看到结果。

将ES6转码成ES5代码文件

该种方法使用babel命令进行转码。

babel命令需要使用“.babelrc“文件,其中会用到转码规则es2015,对应的模块是babel-preset-es2015,先要进行安装。

在工作文件夹中执行命令安装。

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

安装完成后,在工作文件夹中创建文件”.babelrc“,内容为。

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

执行以下命令进行ES6到ES5的转码。

babel index-es6.js -o index-es5.js

可以看到转码后的idnex-es5.js的内容,很方便。

"use strict";

var a = 1,
b = 2,
c = 3; console.log(a, b, c);

End

利用babel-cli搭建支持ES6的node环境的更多相关文章

  1. 开始学习es6(一) 搭建个es6的开发环境

    1.开始学习es6 如果想在浏览器跑es6  需要给es6个环境 因为一直用vue-cli全家桶 这样虽然方便 但如果用es6需要跑起个vue全家桶 于是想到可以用gulp搭建个开发环境 首先需要1. ...

  2. 如何利用Vagrant快速搭建相同配置的开发环境?

    作为一名程序猿,我们常常会遇到需要搭建开发环境的问题,特别是在新入职的时候,sublime, node, apache, mysql, php等等以及各种框架的安装.如果入职的是大公司有可能这些必要的 ...

  3. 一.ES6的开发环境搭建

    前言: 现在的Chrome浏览器已经支持ES6了,但是有些低版本的浏览器还是不支持ES6的语法,这就需要我们把ES6的语法自动的转变成ES5的语法.Webpack是有自动编译转换能力的,除了Webpa ...

  4. Babel 转码器 § es6转换es5

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

  5. 使用webpack从0搭建多入口网站脚手架,可复用导航栏/底部通栏/侧边栏,根据页面文件自动更改配置,支持ES6/Less

    之前只知道webpack很强大,但是一直没有深入学习过,这次从头看了一下教程,然后从0开始搭建了一个多入口网站的开发脚手架,期间遇到过很多问题,所以有心整理一下,希望能给大家一点帮助. 多HTML网站 ...

  6. 让nodeJS支持ES6的词法----babel的安装和使用

    要使用Babel, 我们需要nodeJS的环境和npm, 主要安装了nodeJS, npm就默认安装了 , 现在安装nodeJS很简单了, 直接下载安装就好了: 安装es-checker 在使用Bab ...

  7. 让 Node.js 支持 ES6 的语法

    为了让 Node.js 支持 ES6 的语法, 需要使用 Babel. 安装 es-checker 在使用 Babel 之前 , 我们先检测一下当前 node 对 es6 的支持情况. 在命令行下执行 ...

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

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,可是很多浏览器并不支持es6语法,所以我们需要一个转码工具, 把es6的语法转换成浏览器支持的javascr ...

  9. 让Node.js支持ES6的语法

    使用命令,全局安装es-checker: cnpm install -g es-checker 安装好之后,执行以下命令来查看Node.js对ES6的支持情况. es-checker 可以从输出中查看 ...

随机推荐

  1. 解决sublime的中文乱码

    1.Sublime text 3 中文文件名显示方框怎么解决 在sublime text 3中,Preference, Settings-User,最后加上一行"dpi_scale" ...

  2. jquery.uploadify 在firefox会出现httperror

    原来是因为我的上传处理页面的page 继承了一个基类影响到的 然后这个基类 好像是因为在别的项目里面的原因 希望对也遇到这样的问题的人有帮助咯

  3. stuff in /proc/sys/fs/

    This subdirectory contains specific file system, file handle, inode, dentry and quota information. 1 ...

  4. clear session on close of browser jsp

    关闭浏览器销毁session <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...

  5. hihocoder第220周-一道拧巴的题

    一.220周 题目链接 问题描述 键盘上有N个数字按键,每个按键只能按一次,每次可以按下多个键,请输出所有可能的按键情况. 输入一个整数N(N在1~8之间),输出全部的按键可能.例如:输入3,输出为 ...

  6. memcached全面剖析--5. memcached的应用和兼容程序

    我是Mixi的长野.memcached的连载终于要结束了.到上次为止,我们介绍了与memcached直接相关的话题,本次介绍一些mixi的案例和实际应用上的话题,并介绍一些与memcached兼容的程 ...

  7. mac下 cordova 搭建

    最近遇到一个cordova搭建的项目,于是看了看如何搭建这个.  这个其实 和 phoneGap 差不多,都是为了方便html跨平台才产生的产物.  cordova  也可以生成  iOS  和 安卓 ...

  8. (LeetCode)用两个栈实现一个队列

    LeetCode上面的一道题目.原文例如以下: Implement the following operations of a queue using stacks. push(x) -- Push ...

  9. Shell脚本开发规范

    一.前言 由于工作需要,最近重新开始拾掇shell脚本.虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看.而且当我在看其他人写的脚本的时候,总觉得难以阅读.毕竟shell脚本这 ...

  10. 公网用户接入NAT后面的freeswitch配置

    大致网络示意和终端号码: 客户端侧: 终端号码(1019)终端IP(192.168.1.15)+ 网关(192.168.1.1) + 路由器公网IP(动态地址) 服务器侧: 防火墙(181.92.2. ...