babel的简单使用

已被阅读 1136 次 | 文章分类:nodejs | 2018-10-08 23:59

babel是一个javascript转译器,通过babel可以将es6的箭头函数、块级作用域等新的javascript语法转换成普通es5语法;使得在所有浏览器上可以使用js新的语法和新的数据类型

一:babel简介

1.Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。所以我们不用担心写的es6语法无法在浏览器使用

2.产生效果如下所示

                                            
//转换前
let numbers = [1,2,3];
let babelTest = numbers.map((number)=>number*2);
console.log(babelTest);

//转换后
"use strict";
var numbers = [1, 2, 3];
var babelTest = numbers.map(function (number) {
  return number * 2;
});
console.log(babelTest);
                                            
                                        

二:babel使用方法

在这里假设你的电脑已经配置安装了node、npm、cnpm等环境;我们直接开始演示babel的用法。

1.初始化项目;新建一个项目文件夹,在此文件下打开命令行工具,输入npm init;这里使用vs code,直接右击文件夹,选择在终端打开即可,很是方便,生成如下文件package.json

                                            
{
  "name": "babeldemo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
                                            
                                        

2.安装babel;在项目文件夹中执行

                                            
npm install --save-dev  babel-cli;  //加上--save-dev 可将包添加到依赖,
                                            
                                        

3.这一步最重要,需要新建一个.babelrc文件,定义转码的规则

                                            
{
    "presets": [], //设置转码规则
    "plugins": []  //设置插件
  }
                                            
                                        

4. 安装ES2015转码规则,安装完成之后在上面的.babelrc的"presets": []中加上该规则

                                            
# ES2015转码规则
cnpm install --save-dev babel-preset-es2015
{
    "presets": [“es2015”], 
    "plugins": []  
  }
                                            
                                        

5. 执行转换命令,完成转换

                                            
babel index.js -o compiled.js
                                            
                                        

6. 也可以对整个目录进行转码,将目录下的文件全部转码到另一个文件夹

                                            
babel src -d lib
                                            
                                        

应该也注意到了,如果每次输入命令,比较繁琐,这里将我们的命令加入到package.json

                                            
{
  "name": "babeldemo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "babel src -d lib" 
  },
  "author": "",
  "license": "ISC"
                                            
                                        

运行 npm run build即可

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号