我很惊讶这不在我能找到的文档中a-但是有没有什么方法可以告诉tsc对一个目录中的所有文件及其子目录运行,而不需要经过整个tsconfig.json设置?
tsc
tsconfig.json
laik7k3q1#
据我所知没有。从命令行使用tsc而不使用tsconfig.json需要单独指定每个文件,如下所示:
tsc MyFile1.ts MyFile2.ts MyFile3.ts
然而,看起来你可以简单地在你的TypeScript目录的根目录下创建一个空的tsconfig.json(即{}),它就可以完成你想要的任务。如果tsconfig.json中没有"files"属性,编译器预设会包含包含目录和子目录中的所有TypeScript(*.ts或 *.tsx)档案。
{}
"files"
093gszye2#
您可以使用globs
tsc x/file1.ts x/file2.ts x/file3.ts
应等同于
tsc x/*.ts
y0u0uwnf3#
如果项目文件夹中有tsconfig.json文件,则可以直接键入tsc此命令将编译当前文件夹中的所有ts文件,如果您没有tsconfig.json文件,则可以通过键入以下内容来生成该文件:'tsc -初始化
epfja78i4#
这可能有些矫枉过正,但我只是编写了一个PS函数,作为一个任务在VS代码中使用;
function CompileTypeScriptFiles($folder) { $tsFiles = Get-ChildItem $folder -Filter "*ts" -Recurse $tsFiles | ForEach-Object { $tsFile = $_.FullName; $options = $tsFile + " --outDir js --sourceMap" Start-Process "tsc" $options } }
niknxzdl5#
Windows用户需要使用for循环:
for
for %f in (./path/*.ts) do npx tsc "./path/%f" --lib es2018 --outDir ./path/bin
如果在bat文件中使用%,请不要忘记将其加倍:
bat
%
for %%f in (./path/*.ts) do npx tsc "./path/%%f" --lib es2018 --outDir ./path/bin
laik7k3q6#
您可以建置所有档案,例如:
tsc ./**/*.ts
kzmpq1sx7#
我在Linux/Mac上通过运行以下命令解决了这个问题:
pushd dir && tsc && popd
看起来目录中需要有一个tsconfig.json文件。
7条答案
按热度按时间laik7k3q1#
据我所知没有。从命令行使用
tsc
而不使用tsconfig.json
需要单独指定每个文件,如下所示:然而,看起来你可以简单地在你的TypeScript目录的根目录下创建一个空的
tsconfig.json
(即{}
),它就可以完成你想要的任务。如果
tsconfig.json
中没有"files"
属性,编译器预设会包含包含目录和子目录中的所有TypeScript(*.ts或 *.tsx)档案。093gszye2#
您可以使用globs
应等同于
y0u0uwnf3#
如果项目文件夹中有tsconfig.json文件,则可以直接键入
tsc此命令将编译当前文件夹中的所有ts文件,如果您没有tsconfig.json文件,则可以通过键入以下内容来生成该文件:'
tsc -初始化
epfja78i4#
这可能有些矫枉过正,但我只是编写了一个PS函数,作为一个任务在VS代码中使用;
niknxzdl5#
Windows用户需要使用
for
循环:如果在
bat
文件中使用%
,请不要忘记将其加倍:laik7k3q6#
您可以建置所有档案,例如:
kzmpq1sx7#
我在Linux/Mac上通过运行以下命令解决了这个问题:
看起来目录中需要有一个tsconfig.json文件。