Babel CLI 转译后代码没变化是怎么回事?

Prog.永莲 阅读 3

我用 Babel CLI 转 ES6 代码,但输出的文件和源文件一模一样,根本没转成 ES5。我装了 @babel/core@babel/cli,还配了 .babelrc 文件,里面写了 preset-env,但就是不生效,这是为啥?

命令是这么跑的:npx babel src --out-dir lib,源文件里明明有箭头函数和 const,结果输出还是原样。

{
  "presets": ["@babel/preset-env"]
}
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
司徒彩云
按照规范,检查一下你的项目依赖是否正确安装了 @babel/preset-env。有时候即使在 .babelrc 中配置了,但如果这个包没有被正确安装或者版本不对,Babel 就不会应用相应的转译规则。你可以通过运行 npm list @babel/preset-env 来确认它是否在你的 node_modules 中。

另外,确保你的源文件路径和输出路径没有问题,有时候路径配置错误也会导致输出不变。你的命令看起来是对的,但可以尝试在项目根目录下重新运行一次 npx babel src --out-dir lib,确保 src 目录下的文件确实是你想要转译的文件。

最后,检查一下你的 package.json 文件,确保没有对 Babel 的配置进行覆盖或者忽略某些文件夹。如果这些都没有问题,可以尝试删除 node_modules 文件夹和 package-lock.json 文件,然后重新安装依赖,看看问题是否解决。有时候缓存或者依赖安装不全也会导致奇怪的问题。
点赞
2026-03-21 18:00