typescript - 可以对整个文件夹运行吗?

时间:2016-03-01 21:56:06

标签: typescript

我很惊讶这不是我能找到的文档 - 但是有没有办法告诉tsc针对目录中的所有文件及其子项运行而不经过整个{ {1}}设置?

6 个答案:

答案 0 :(得分:10)

不是我知道的。在没有tsc的命令行中使用tsconfig.json要求您单独指定每个文件,如下所示:

tsc MyFile1.ts MyFile2.ts MyFile3.ts

但是,看起来您只需在TypeScript目录的根目录下创建一个空的tsconfig.json,它就可以执行您想要的操作。来自https://github.com/Microsoft/TypeScript/wiki/tsconfig.json

  

如果"files"中没有tsconfig.json属性,则编译器默认包含所有包含目录和子目录中的TypeScript(* .ts或* .tsx)文件。

答案 1 :(得分:3)

你可以使用globs

tsc x/file1.ts x/file2.ts x/file3.ts

应该相当于

tsc x/*.ts

答案 2 :(得分:0)

如果项目文件夹中有tsconfig.json文件,则可以直接输入

  

tsc这个命令会编译当前文件夹中的所有ts文件,如果你没有tsconfig.json文件,你可以输入:'

     

tsc -init

答案 3 :(得分:0)

这可能有点过头了,但我刚刚写了一个PS函数在VS Code中用作任务;

function CompileTypeScriptFiles($folder) {
    $tsFiles = Get-ChildItem $folder -Filter "*ts" -Recurse
    $tsFiles | ForEach-Object {
        $tsFile = $_.FullName;
        $options = $tsFile + " --outDir js --sourceMap"
        Start-Process "tsc" $options 
    }
}

答案 4 :(得分:0)

Windows用户需要使用for循环:

for %f in (./path/*.ts) do npx tsc "./path/%f" --lib es2018 --outDir ./path/bin

如果在%文件中使用bat,请不要忘记将其翻倍:

for %%f in (./path/*.ts) do npx tsc "./path/%%f" --lib es2018 --outDir ./path/bin

答案 5 :(得分:0)

我通过运行以下命令在Linux / Mac上解决了这个问题:

pushd dir && tsc && popd

看起来目录中需要有一个tsconfig.json文件。