1.ES6的发展历史(知道es6的发展,就知道es6是什么了)
ES6(ECMAScript 6)的第一版本是在2015年6月发布的,正式名称是《ECMAScript2015标准》(简称ES2015),之后再2016年6月发布了《ECMAScript2016标准》(简称ES2016),之后在2017年6月发布了ES2017标准。所以,ES6可以是一个泛指,泛指ES2015及以后的所有标准,但也可以指ES2015标准。
2.ES6的运行环境
node.js运行环境。
本来node.js是javaScript的运行环境,但它对es6的支持度更高。所以我们可以用node.js来运行es6。
3.Babel转码器
Babel是一个将ES6代码转换成ES5代码的转码器。
Babel有两种依赖:
1.全局依赖
cnpm install xxx --global
[简写:cnpm i xxx -g]
2.局部依赖
1)开发依赖
cnpm install babel-preset-latest --save-dev
[简写:cnpm i xxx -D]
2)产品依赖
cnpm i xxx --save
[简写:cnpm i xxx -S]
Babel-cli的安装命令(在node环境下进行安装)
1.cnpm i babel-cli --global
2.安装转换规则
cnpm i babel-preset-latest -D
3.指定转换规则【创建一个.babelrc文件,里面写入下面的代码】
{
"presets": ["es2015"]
}
4.cnpm i jquery --save
Babel的转码命令
1. 将一个文件es6转换为es5
babel ./1-es6.js --out-file 1-es5.js
[可以写为babel ./1-es6.js -o 1-es5.js]
2. 将一个文件夹es6转换为es5
$ babel src --out-dir 文件夹名
[可以写为babel src -d 文件夹名]
4.ES6中的模块化机制
ES6有三种模块化机制:CommonJs模块化、ES6模块化、AMD模块化(不用细细了解,知道有这个就行)
1.CommonJs模块化
(1)导入
let {}=require('fs');
(2)导出
module.exports={a,add}
2.ES6模块化
(1)导入
1.导入整个模块内容:import * as person from './person.js'
2.导入多个接口:import {a,count,first,last} from './modules/a.js'
3.重命名:import {firstName as name} from './person.js'
(2)导出
1.列表导出:export {firstName,lastName} // 是接口,不是对象
2.重命名导出:export {firstName as first,lastName as last}
3.导出单个属性:export var a = 3;
4.导出单个属性:export function multiply(x, y) { return x * y; };
5.默认导出:
export default function add(){
console.log('default 导出')
}//不能使用var let const,只能用export