1.什么是Babel
Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行执行。 这意味着,你可以现在就用 ES6 编写程序,而不用担心现有环境是否支持。
2.Babel安装 Babel提供babel-cli工具,用于命令行转码。它的安装命令如下:
npm install --global babel-cli
#查看是否安装成功
babel --version
3.Babel的使用 在src/module目录下,创建模块。
export function getList() {
console.log('获取数据列表')
}
export function save() {
console.log('保存数据')
}
在src根目录下,创建test.js
//只取需要的方法即可,多个方法用逗号分隔
import { getList, save } from "./module/api.js"
getList()
save()
运行test.js,报错如下:
import { getList, save } from "./module/api.js"
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:892:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11
因为ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行。
解决方法:
Babel的配置文件是.babelrc,存放在项目的根目录下,该文件用来设置转码规则和插件,基本格式如下。
{
"presets": [],
"plugins": []
}
1)在项目根目录下,创建.babelrc 文件。(注意:没有文件名只有扩展名)
{
"presets": ["es2015"],
"plugins": []
}
2)安装转码器
npm install --save-dev babel-preset-es2015
3)转码
# 整个目录转码
mkdir dist
# --out-dir 或 -d 参数指定输出目录
babel src --out-dir dist
# 或者
babel src -d dist
4)测试 在dist目录下,运行test.js. 运行结果:
获取数据列表
保存数据