javascript - 如何在目录模式下更改 babel-cli 输出的文件名?

标签 javascript babeljs

背景:

我有一些用 ES2015 编写的测试,但由于 v2.1 中的 QtWebKit 缺少 ES2015 支持,因此需要将其转换为 ES5 才能在 PhantomJS 中运行。 2.5 beta 应该支持它。

babel-cli:

我可以使用 babel-cli 将测试转换为 ES5:

babel main.test.js --out-file main.test.es5.js

为了转换脚本目录,我可以使用:

babel tests --out-dir compiled-tests

这会将转译后的测试脚本输出到 compiled-tests 目录。如果我使用相同的目录,它会覆盖原来的目录,所以我们不希望这样。

问题:

有没有办法在babel-cli的目录模式下修改文件名或扩展名,而不必循环遍历文件并使用babel.transformFileSync

例如,我希望按照以下方式做一些事情:

  babel tests --out-dir tests --outputExtension=".es5.js"

这将采用 a.jsb.js 等并输出 a.es5.jsb.es5。 js

我还可以想象使用正则表达式来提取源文件名的一部分并将其与自定义内容结合起来的选项。

最佳答案

v7.8.0你可以使用 babel-cli--out-file-extension 标志:

babel tests --out-dir tests --out-file-extension .es5.js

https://babeljs.io/docs/en/babel-cli#set-file-extensions

关于javascript - 如何在目录模式下更改 babel-cli 输出的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43369099/

相关文章:

javascript - CSS/Javascript 不绑定(bind)动态 html 追加

node.js - 将 gulp-watch 与 babel.js 结合使用

javascript - babel-loader jsx 语法错误 : Unexpected token

typescript - 使用@babel/plugin-transform-typescript 编译 typescript 时如何修复警告

javascript - 使用 Node.js require 与 ES6 导入/导出

javascript - IE不支持方法 'assign',怎么办

javascript - 如何在 JavaScript 中验证禁用的文本框

javascript - 设置 cookie 以在单击按钮时隐藏 div

javascript - 如何在第 n 次出现字符后分割字符串?

javascript - 所有不同 Intl.NumberFormats 的完整列表