`tsc --build --clean` 与 `rm -rf *.js` 有什么区别?

问题描述 投票:0回答:2

我有一个关于与参数

tsc
一起使用的
--build --clean
命令的快速问题,据我所知,该命令用于清理/擦除编译器 (tsc) 之前生成的
.js
文件。

这个命令的特殊性或者意义是什么?如果我需要删除所有

.js
文件,我可以通过目录中的
rm -rf *.js
del *.js
轻松完成。

有人可以告诉我缺少的部分吗?

typescript build tsc resource-cleanup
2个回答
14
投票

不同之处在于

rm
会很乐意删除任何文件,即使它们不是通过转译 TypeScript 生成的。

注意!

如果存在相应的

tsc --build --clean

 文件生成该文件,则 
.js
只会删除
.ts
文件。这意味着,如果您重命名
.ts
文件、删除
.ts
文件或创建新的
.ts
文件,然后运行
tsc --build --clean
,则以前具有相应
.js
文件
 的旧 .ts 文件将不再存在不再删除.

如果您确实想在构建之前进行清理,特别是当

.ts
文件集发生更改时,您应该以不同的方式删除输出文件夹。例如,unix shell 中的
rm -rf dist/
,或 Windows PowerShell 中的
rm -r -fo dist/
。或者,假设您使用 TypeScript 时可能使用 Node.js,请使用像
rimraf
这样的跨平台包来删除输出文件夹。


13
投票

区别在于

--clean
一般来说是没用的。如果您曾经重命名、移动或删除了源文件,clean 将不会清理转译的输出。

© www.soinside.com 2019 - 2024. All rights reserved.