Babel CLI 转译后为什么没有生成输出文件?

打工人小秋 阅读 80

我用 Babel CLI 转译一个 JS 文件,命令行没报错,但指定的输出目录里啥也没有,这是咋回事?

我试了这个命令:npx babel src/index.js --out-file dist/index.js,结果 dist 目录压根没创建,文件也没生成。

是不是得先手动建好 dist 文件夹?还是我漏了什么配置?我的 .babelrc 是这么写的:

{
  "presets": ["@babel/preset-env"]
}
我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
程序员梓桑
兄弟,你这个坑我踩过。

问题出在 --out-file 这个参数上。Babel CLI 对输出目录不会自动创建,你得先手动建好 dist 文件夹。

不过更简单的做法是用 -o 代替 --out-file,然后先把 dist 目录建出来:

mkdir dist
npx babel src/index.js -o dist/index.js


这样基本就能正常输出文件了。

如果你想偷懒连目录都不想建,可以用 --copy-files 配合 -d 参数让 Babel 自动处理,但上面那个是最稳妥的写法。

顺带提一嘴,如果你后面要转译整个目录,记住用 -d 而不是 -o

npx babel src -d dist


这个也是要先把 dist 建好的,别问我怎么知道的,都是血泪教训。
点赞
2026-03-17 11:21