node环境下使用babel运行es6

by: kelen / 2016-11-11

node现在不是很支持es6语法,但是我们可以使用babel来支持,只需要简单的安装运行环境

1. 安装babel-node

npm install --save-dev babel-core

npm安装如果太慢或者安装不了,可以使用淘宝镜像cnpm,命令行

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后就可以用cnpm代替npm安装相应的依赖模块

2. 安装babel-preset-2015,使其支持es2015的语法

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

3. 创建.babelrc配置文件,在项目的根目录下,开启相应的插件例如开启es2015语法插件

{
  "presets": ["es2015"]
}

注:在npm2.x以下的版本,运行babel6.x的项目,由于npm2.x的安装项目依赖方式不一样,这个可以通过更新npm版本解决,查看npm版本 npm -version

在项目根目录下新建test.js文件,写一些es6语法

/**
 *   URL:
 *   说明:
 *   负责人: kelen
 *   日期:  11/11 0011.
 */
'use strice';

// class类
class Hello {
    constructor (x, y) {
        this.x = x;
        this.y = y;
    }

    say() {
        console.log(this.x, this.y);
    }
}

var h = new Hello(10, 20);
h.say();

// 新增数组方法
let a = {
    0: 'kelen',
    1: 25,
    2: 180,
    length: 3
}
console.log(Array.from(a));

// promise
function promiseTest(num) {

    return new Promise((resolve, reject) => {
        setTimeout(function() {
            // 模拟耗时操作
            if (num > 20) {
                resolve('success')
            } else {
                reject('error');
            }
        }, 3000);
    });

}

// catch错误处理
promiseTest(10).then((res) => {
   console.log(res);
}).catch((err) => {
    console.log(err);
});

// 另一种写法
promiseTest(100).then((res) => {
    console.log(res);
}, (err) => {
    console.log(err);
});


console.log('promise后代码继续执行...');

// 代码块变量声明
for (let i = 0; i < 5; i++) {
    console.log(i); // 1,2,3,4,5
}
console.log(i); // undefined 报错

然后在控制台执行

babel-node test.js

 


最新发布
热门文章