Babel 是将新标准 JS 语法(如 ES2020+、JSX、TypeScript)转译为旧版兼容代码(如 ES5)的编译器,不执行代码仅做语法转换;需安装核心包、配置 babel.config.json 指定 targets、添加 build 脚本;扩展支持需额外 preset/plugin,且不处理 polyfill。

Babel 是一个 JavaScript 编译器,核心作用是把**新标准的 JS 语法(如 ES2020+)和特性(如 JSX、TypeScript)转译成当前浏览器或运行环境能理解的旧版本代码(通常是 ES5)**,解决兼容性问题。它不执行代码,只做语法转换,比如把箭头函数 () => {} 变成 function() {},把可选链 a?.b 变成安全判断逻辑。
为什么需要 Babel
现代 JS 新特性(如 let/const、模块化、装饰器、top-level await)在老版浏览器或某些 Node.js 版本中不被支持。Babel 让你用最新的写法开发,同时保证代码能在目标环境中正常运行。
基础配置三步走
以项目级配置为例(基于 Babel 7+):
-
安装核心包:
npm install --save-dev @babel/core @babel/cli @babel/preset-env -
创建配置文件
babel.config.json(放在项目根目录):
{ "presets": [ ["@babel/preset-env", { "targets": { "browsers": ["> 1%", "last 2 versions", "not dead"] } }] ] }登录后复制
这表示:只转译那些在“全球使用率超 1%、主流浏览器最新两版、且未被厂商放弃”的环境中不支持的语法。 -
添加脚本命令到
package.json:
"scripts": { "build": "babel src --out-dir lib --extensions '.js,.jsx'" }登录后复制
运行npm run build就会把src/下的 JS/JSX 文件编译输出到lib/。
按需扩展支持其他语法
默认 @babel/preset-env 只处理标准 JS 语法。如果要用 React、TypeScript 或实验性功能,需额外加 preset 或 plugin:
标签: react javascript java js node.js json node vite typescript n
还木有评论哦,快来抢沙发吧~