1:什么是babel
1:babel是一个JS编译器,用来转换最新的JS语法,比如把ES6,ES7等语法转换为ES5语法,从而可以在大部分浏览器运行,
执行过程分三步:分析,转化,生成代码,但是babel一些最新的api是不转化的,比如Object,assign,Promise,inport,export class等,
所以可以使用插件 babel-pilofill来引入对全部api的支持。
2:babel编译的准备工作
1:初始化项目,在终端输入命令
npm init
2:.安装 babel 需要的包
npm install --save-dev @babel/core @babel/cli
npm uninstall xxx xxx --save-dev
3:运行babel
npx babel --version
使用bable编译文件
1.你想把js文件夹转译到哪个文件夹去
在初始化的package.json "scripts"中添加
"zhuzhu": "babel src -d dist"
"zhuzhu"名字自定义
然后在想转译的文件夹目录中 运行npm run zhuzhu
1:export 转译后不能被浏览器读懂的问题,在终端下载
npm install --save-dev @babel/plugin-transform-modules-umd
2:class类中的static不能转译的问题,在终端下载
npm install --save-dev @babel/plugin-proposal-class-properties
//babelrc文件需要的配置项主要有预设(presets)和插件(plugins)。用来解决不能编译的一些语法
{
"presets": ["@babel/preset-env"],
"plugins": [
[
"@babel/plugin-transform-modules-umd",
{
"globals": {
"es6-promise": "Promise"
}
}
],
["@babel/plugin-proposal-class-properties"]
]
}