babel.config.js 是 Babel 配置文件,用于定义 JavaScript 代码转换规则。它的主要作用包括:
语法转换
将 ES6+(如箭头函数、解构赋值、async/await)等现代 JS 语法转换为向后兼容的版本,确保在旧版浏览器或 Node.js 环境中正常运行。Polyfill 补丁
配合@babel/preset-env和core-js,自动按需引入缺失的 API(如Promise、Array.includes),填补运行环境不支持的新特性。插件与预设管理
- Presets(预设):一组预先配置好的插件集合,例如
@babel/preset-env(按目标环境自动选插件)、@babel/preset-react(处理 JSX)。 - Plugins(插件):单独添加特定转换功能,比如
@babel/plugin-transform-runtime(优化辅助代码复用)。
- Presets(预设):一组预先配置好的插件集合,例如
按需编译
通过include/exclude字段指定哪些文件需要编译(通常排除node_modules),提升构建效率。环境适配
利用env选项为不同环境(开发/生产)设置差异化配置,例如开发环境保留console.log,生产环境移除。
示例:
module.exports = {
presets: [
['@babel/preset-env', {
targets: "> 0.25%, not dead", // 目标浏览器份额 > 0.25%
useBuiltIns: "usage", // 按需引入 polyfill
corejs: 3
}]
],
plugins: ["@babel/plugin-transform-runtime"]
};
简单说,它就像一道“翻译桥梁”,让开发者写新潮语法,同时保证代码在老旧环境下也能跑起来。
