gpt4 book ai didi

typescript - TypeScript 中是否有任何清理命令可以删除构建文件和文件夹? (就像我们在 Maven 项目中有 'mvn clean' 一样)

转载 作者:行者123 更新时间:2023-12-03 08:22:07 25 4
gpt4 key购买 nike

我目前正在使用 Protractor 和 TypeScript 开发一个自动化项目,而且我对这两种工具都不太熟悉。我有一个 'src' 文件夹,用于存放所有 '.ts' 文件,以及 'js-files' 文件夹,用于存放所有 typescript 编译器生成的'.js' 文件。所以,我想知道 typescript 中是否有任何 native 命令可以清理/删除这个生成的 'js-files' 文件夹,例如 Maven 项目中的 'mvn clean'

任何建议/帮助表示赞赏;感谢您抽出时间。

最佳答案

有一个 tsc clean 命令,但它要求您使用 sorta-newish 构建命令调用 clean 标志,如下所示:

  1. tsc --build .../path-to-your/tsconfig.json --clean

还可以使用 -b 简写,如果 tsconfig.json 文件位于根目录中,则可以省略它
  • tsc -b --clean

  • TSC Clean 命令的问题


    tsc --clean 标志有缺点: 首先是它不会删除构建/声明目录,仅发送给他们的文件。 其次:如果您计划使用 clean 标志,则必须将其与构建命令一起使用。如果您使用 $ tsc --watch 来保持开发操作流畅,那么这是一个主要缺点,对于任何使用 watch 命令的人来说,必须不必要地构建他们的项目会很烦人当它一直在构建时,对于那些必须等待 2 或 3 分钟才能完成 tsc 的人来说,这是两倍的烦人。

    因此,最好的选择仍然是一如既往,即自定义任务。



    对于 VS Code 用户来说,这是最好的方法


    VS Code,或者没有VS Code,任务就是解决这个问题的方法。我曾经使用 gulp,但在 2018 年就放弃了 VS Code 任务。其他人需要感受 TS 开发人员不使用 Gulp/Grunt 答案的 VS Code 的差距,但对于 VS Code,我已经帮你解决了。

    如前所述: TypeScript 转译器 CLI TSC(截至目前)不提供任何类型的 CLI 命令/自动化删除构建目录本身,仅删除其内容。就我个人而言,我不认为有任何理由删除目录,除了看到目录被删除和实时添加的心理安全感,并且知道旧版本实际上已被删除,因为您看到它发生在尽管如此,文件浏览器;我仍然更喜欢删除目录而不是仅删除其中的内容。我喜欢调用任务并在目录消失时观察文件资源管理器,然后在构建任务自动化时观察它们重新出现。

    因此,我们确定...

    tsc -b ./tsconfig.json --clean

    ...不删除目录,只删除目录中的内容。

    因此,我们需要一项任务。


    VS Code 的 tasks.json 配置

    VS Code 任务一开始配置起来可能比较困难,但该任务应该能够复制和粘贴。如果您使用 power shell,则必须替换任何 pwrsh 命令删除文件的命令,以及 -R-d-v 标志用于删除目录时使用的 pwrsh 标志。

    下面的任务显示了整个tasks.json文件的配置,如果您已经有任务,则从“tasks”:[...tasks]数组中C&P任务。

    {
    "version": "2.0.0",
    "tasks": [
    {
    "label": "TSC-SHELL: DEEP CLEAN",
    "detail": "Uses the environments SHELL to wipe TSC build dirs, and the dirs contents",
    "type": "shell",
    "command": "rm",
    "args": [
    "-R",
    "-d",
    "-v",
    "${workspaceFolder}/out",
    "${workspaceFolder}/types"
    ],
    "presentation": {
    "reveal": "always",
    "panel": "dedicated",
    "showReuseMessage": false,
    "close": false,
    "group": "Clean"
    }
    }
    ]
    }

    其他信息:

    1. -R 标志 = 递归(强制)

    2. -d 标志 = 删除空目录(可选)

    3. -v 标志 = 详细,或列出所有已删除的文件(可选)- 我喜欢查看删除的内容。

    4. “${workspaceFolder}/out” = 您的构建目录

    5. “${workspaceFolder}/types”=您的声明目录

    ${workspaceFolder} = 始终定义项目基目录的 VS Code Env 变量。使用它代替点:'.',这样如果您将终端指向不同的目录,就不会删除错误的内容。

    这就是在 VS Code 中执行此操作的方法!

    关于typescript - TypeScript 中是否有任何清理命令可以删除构建文件和文件夹? (就像我们在 Maven 项目中有 'mvn clean' 一样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67529888/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com