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

Babel 是一个 JavaScript 编译器,核心作用是把**新标准的 JS 语法(如 ES2020+)和特性(如 JSX、TypeScript)转译成当前浏览器或运行环境能理解的旧版本代码(通常是 ES5)**,解决兼容性问题。它不执行代码,只做语法转换,比如把箭头函数 () => {} 变成 function() {},把可选链 a?.b 变成安全判断逻辑。
现代 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"]
}
}]
]
}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:
立即学习“Java免费学习笔记(深入)”;
@babel/preset-react,支持 JSX 和 React 17+ 的自动运行时@babel/preset-typescript(注意:Babel 不做类型检查,TS 类型需靠 tsc 或 IDE 处理)@babel/plugin-proposal-decorators,并按规范设置 legacy: true 或 version: "2023-05"
单独用 CLI 较少,实际项目中常集成到 Webpack、Vite 或 Rollup 中:
babel-loader,在 module.rules 中指定 JS 文件走 Babel 处理babel.config.js 中声明 preset 即可生效Promise、Array.from)。需要时用 @babel/polyfill(已废弃)或更推荐的 core-js + regenerator-runtime 手动导入配置本身不复杂,关键在明确目标环境、合理选择 preset 和 plugin,避免过度转译影响体积和性能。
以上就是javascript的Babel转译器有什么用_如何配置支持新语法的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号