Babel配置了preset-env为什么箭头函数没转译? Designer°乙涵 提问于 2026-02-16 16:33:25 阅读 17 工具 我在React项目里配置了@babel/preset-env,但代码里的箭头函数没转译成ES5,这是怎么回事? 项目里用了.babelrc配置: { "presets": ["@babel/preset-env"] } 已经安装了@babel/core和preset-env,目标浏览器是IE11。但编译后的代码里箭头函数依然存在,其他ES6语法倒是转了。是不是少了什么插件? 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 南宫素香 Lv1 你这个问题是因为 @babel/preset-env 默认只会转译那些目标浏览器不支持的语法,而箭头函数在某些情况下可能被认为“可被支持”,所以它没被转译。你需要明确指定目标浏览器是 IE11,并确保配置正确。 代码放这了,修改你的 .babelrc 配置: { "presets": [ ["@babel/preset-env", { "targets": { "ie": "11" } }] ] } 另外,如果你用的是 React,默认的 JSX 转译不会处理箭头函数,所以确保你装了 @babel/preset-react 并且也加到 presets 里。完整的配置应该是这样的: { "presets": [ ["@babel/preset-env", { "targets": { "ie": "11" } }], "@babel/preset-react" ] } 最后别忘了重启构建工具,有时候缓存会让你怀疑人生。如果还是不行,检查下是不是有其他插件或者工具链冲突了,比如 Webpack 的 loader 配置。我以前就被坑过好几次,真是烦。 回复 点赞 1 2026-02-16 17:02 加载更多 相关推荐 1 回答 13 浏览 为什么用了@babel/preset-env后箭头函数没被转译? 折腾了一下午还是没解决,项目里用了Babel和@babel/preset-env配置了targets,但箭头函数在打包后居然没转译成普通函数,Chrome没问题,用IE11直接报错。配置文件应该没问题... Mr-金利 工具 2026-02-15 11:48:25 2 回答 126 浏览 为什么配置了Babel Presets后箭头函数没被转译? 在Vue项目里安装了@babel/preset-env,配置了.babelrc文件,但箭头函数还是没被转译成普通函数。试过更新Babel版本,检查过浏览器列表配置,打包后代码里箭头函数还是原样,控制台... 慕容艳苹 工具 2026-02-06 02:00:31 2 回答 17 浏览 Babel配置后箭头函数没转成普通函数,旧版浏览器报错怎么办? 我在项目里用了箭头函数写组件方法,按照教程安装了@babel/preset-env并配置了.babelrc: { "presets": ["@babel/preset-env"] } 但打包后代码里箭... 萌新.文雅 工具 2026-02-15 13:24:30 1 回答 13 浏览 配置了@babel/preset-react为什么还是报JSX语法错误? 刚在React项目里用Babel转译JSX,虽然装了@babel/preset-react,但编译时还是报Unexpected token错误。我的.babelrc配置是这样的: { "presets... 令狐瑞芳 工具 2026-02-07 13:11:37 2 回答 41 浏览 为什么配置了Babel的@babel/preset-react后JSX还是无法转换? 我在React项目里用Babel处理JSX,已经安装了@babel/preset-react并配置到.babelrc里了,但打包后浏览器还是报错"Uncaught SyntaxError: Unexp... FSD-倩云 工具 2026-02-05 06:23:27 1 回答 19 浏览 Babel配置中如何同时支持ES模块和CommonJS? 我在升级项目Babel配置时遇到了问题。之前用@babel/preset-env默认配置没问题,但今天想让代码同时兼容ES模块和CommonJS时,打包后出现Unexpected token 'exp... 司徒斐然 工具 2026-02-14 13:16:24 2 回答 31 浏览 Vue项目用了@babel/preset-typescript为什么还是报TypeScript语法错误? 在Vue3项目里配置了Babel和@babel/preset-typescript,但运行时还是提示“Unexpected token ‘;’ in JSON at position 12”这种错误.... UX炳錦 工具 2026-01-25 20:59:23 2 回答 13 浏览 为什么我的Babel配置无法转换ES6箭头函数? 大家好,我在项目里用了Babel转码,但箭头函数一直没被转成ES5语法。配置文件和代码都检查了好几遍,但还是不行... 我的.babelrc配置是这样写的: { "presets": ["@babel... Newb.玉曼 工具 2026-02-18 09:00:37 1 回答 24 浏览 Babel配置中设置targets时,为什么指定了浏览器版本却没转译某些语法? 我在项目里用Babel配置了targets为"chrome 90",但发现代码里的箭头函数() => {}仍然没被转译。明明用的是Chrome 80测试时会报错啊,这是怎么回事? 尝试过在.ba... UX文轩 工具 2026-02-16 16:50:25 2 回答 20 浏览 使用babel-plugin-import按需加载Ant Design为什么样式没生效? 我在项目里用Ant Design时按需编译配置了babel-plugin-import,但样式就是不生效。虽然组件功能正常,但按钮样式全是默认浏览器样式。之前直接引入完整库没问题,改成按需后就出问题了... 皇甫金壵 优化 2026-02-11 02:56:22
@babel/preset-env默认只会转译那些目标浏览器不支持的语法,而箭头函数在某些情况下可能被认为“可被支持”,所以它没被转译。你需要明确指定目标浏览器是 IE11,并确保配置正确。代码放这了,修改你的 .babelrc 配置:
另外,如果你用的是 React,默认的 JSX 转译不会处理箭头函数,所以确保你装了
@babel/preset-react并且也加到 presets 里。完整的配置应该是这样的:最后别忘了重启构建工具,有时候缓存会让你怀疑人生。如果还是不行,检查下是不是有其他插件或者工具链冲突了,比如 Webpack 的 loader 配置。我以前就被坑过好几次,真是烦。