嗨,我正在测试如何使用通配符给babel提供路径并输出相同的结构。
|src
|---A
|-----src
|-----------a.js
|---B
|-----src
|-----------b.js
如果我运行babel root/**/src -d lib/**/lib
,它将输出
|lib
|---**
|-----lib
|-----------a.js
|-----------b.js
但是,我想要的是
|lib
|---A
|-----lib
|-----------a.js
|---B
|-----lib
|-----------b.js
我该怎么办?
答案 0 :(得分:1)
babel cli不能完全做到这一点。可以使用--relative
选项关闭它:
babel src/*/src --out-dir ../lib --relative
但是,这不会重命名顶层目录;您将在原始根目录中得到如下所示的结构:
|src
|---A
|-----lib
|-----------a.js
|-----src
|-----------a.js
|---B
|-----lib
|-----------b.js
|-----src
|-----------b.js
如果您确实需要最终结构,则可以使用一些cp -R src lib; rm -rf lib/*/src
进行后续操作。或使用rsync rsync -r --exclude='src/*/src' src lib
。或者,不要使用上面的--relative
,而是用ls src | xargs -I{} babel src/{}/src -d lib/{}/lib
如果您真的想一步一步完成操作,则可能必须使用Gulp之类的工具,或者直接使用babel API编写脚本。