Babel 是什么?
官网:https://www.babeljs.cn/
- Babel 是一个 JavaScript 编译器
- Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。
语法转换
通过 Polyfill
方式在目标环境中添加缺失的特性 (通过 @babel/polyfill 模块) 源码转换 (codemods)
// Babel 输入: ES2015 箭头函数
[1, 2, 3].map((n) => n + 1);
// Babel 输出: ES5 语法实现的同等功能
[1, 2, 3].map(function(n) {
return n + 1;
});
整个配置过程包括:
1、运行以下命令安装所需的包(package):
npm install @babel/core @babel/cli @babel/preset-env --save-dev
npm install --save @babel/polyfill
1.@babel/core:babel核心库
2.@babel/cli:执行babel命令
3.@babel/preset-env:装了所有es6转化es5的规则
4.@babel/polyfill:补充低版本缺失的内容,如promise对象
2、新建一个.babelrc文件(一定是这个名字)
{
"presets": [
"@babel/preset-env"
],
"plugins": [] //这个是配置插件的可以不写
}
执行:建一个a.js文件
let a=123;
setTimeOut(()=>{
console.log(123);
})
在命令行中输入以下命令
npx babel a.js -o b.js
//-o // output:输出
//-d // dir : 目录
以上命令表示把a.js文件中的内容转换成es5输出到b.js文件中 得到b.js
var a=123;
setTimeOut(function(){
console.log(123);
})
另外,npm允许在package.json文件中,使用script字段定义脚本命令
"scripts": {
"o": "babel index2.js -o index-target.js"
},
然后,再命令行用npm run 命令,执行这段代码
npm run o
强制清除node缓存
npm cache clean --force
结束语:
男孩子要好好学习提升自己,喝酒有品,好色有度,不是自己的女人不要碰,唯有父母和前途不可辜负。