在多个目录中将文件归档到位

时间:2016-05-22 07:39:33

标签: javascript ecmascript-6 babeljs

如何在不同的目录中使用babel来转换包含ES6内容的JavaScript文件?我希望结果位于相同的目录中(例如,有foo/bar/index.js,我想通过覆盖来获取同一文件中的ES5代码。)

要覆盖我使用的一个目录:

 babel lib/ -d lib

这适用于一个文件夹(覆盖lib目录中的所有内容)。

如何为两个或更多目录执行相同的操作?例如,我如何为lib/bin/

执行此操作

2 个答案:

答案 0 :(得分:2)

The codemod CLI对此非常合适。

它只会修改您的文件:

codemod --plugin babel-transformer.js src/**/*.js

答案 1 :(得分:1)

AFAIK babel CLI的复杂程度不足以在单个命令中支持此用例。但是,您可以连接两个命令以实现相同的结果:

babel lib/ -d lib && babel bin/ -d bin

或者您可以使用gulp或您选择的其他构建工具编写一个为您执行此操作的脚本。例如(未经测试):

gulp.task('default', () =>
  gulp.src(['bin/**/*.js', 'lib/**/*.js'], { base: './' })
    .pipe(babel())
    .pipe(gulp.dest('.'))
)