选择带有递归glob for babel命令的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择带有递归glob for babel命令的文件相关的知识,希望对你有一定的参考价值。

给定以下文件夹结构:

.
└── dogs
    ├── index.js
    └── cats
        ├── index.js
        └── racoons
            ├── index.js
            └── walrus
                └── index.js

我想运行babel-cli命令babel并生成对应于每个index.js的文件作为index.build.js

babel命令接收文件或文件夹:

babel index.js --out-file index.build.js

我想知道它可以采取递归glob。

答案

您可以使用以下命令处理当前目录(和子目录)中的所有index.js文件:

babel . --only index.js -d /output/directory

这将复制/output/directory中当前目录的子文件夹结构,并将编译后的文件放在那里。

此外,可以将处理委托给bash并在每个文件上独立执行babel:

function processFile(){
    local fPath=$1
    local fDir=$(dirname $fPath)
    local fName=$(basename $fPath)

    pushd "$fDir"
    babel "$fName" -o "${fName%.js}.build.js"
    popd
}
export -f processFile

find . -type f -name "index.js" -exec bash -c 'processFile "$0"' {} ;

以上是关于选择带有递归glob for babel命令的文件的主要内容,如果未能解决你的问题,请参考以下文章

python标准库glob 递归目录下所有文件

PHP 递归Glob文件树

从使用 glob 导入的多个文件中绘图

python 使用glob对所有用户主文件夹执行递归文件搜索

babel-node vs node:带有导入/导出的graphql文件

找不到 Babel 命令