Babel 编译工具
JavaScript 编译器,将 ES6+ 代码转换为兼容旧版本的语法
问题
Babel 是什么?它的作用是什么?
解答
Babel 是一个 JavaScript 编译器,主要用于将 ECMAScript 2015+ 语法编写的代码转换为向后兼容的 JavaScript 语法,使代码能够运行在当前和旧版本的浏览器或其他环境中。
基本使用
// 输入:ES6+ 代码
const greeting = (name) => `Hello, ${name}!`;
const numbers = [1, 2, 3].map(n => n * 2);
// 输出:ES5 兼容代码
var greeting = function greeting(name) {
return "Hello, " + name + "!";
};
var numbers = [1, 2, 3].map(function (n) {
return n * 2;
});
配置示例
// babel.config.js
module.exports = {
presets: [
['@babel/preset-env', {
targets: {
browsers: ['> 1%', 'last 2 versions']
}
}]
]
};
关键点
- Babel 是 JavaScript 编译工具链,不是运行时库
- 主要功能是语法转换,将新语法转为旧语法
- 通过插件和预设(presets)配置转换规则
- 常用于构建工具(Webpack、Rollup)中
- 需要配合 polyfill 处理新 API 的兼容性
目录