如何从以前的 typescript(.ts) 文件中删除已编译的 JS 文件?

2022-01-12 00:00:00 javascript angular gulp typescript

我正在关注 Angular 2 快速入门 教程.以下是我的文件夹结构 -

I am following Angular 2 quick start tutorial. Following is my folder structure -

├── gulpfile.js
├── index.html
├── js
|   ├── app.component.js
|   └── boot.js
├── source
|   ├── app.component.ts
|   └── boot.ts
├── node_modules
    ├── module 1
    └── module 2

我的打字稿文件位于 source/ 目录中.我正在将它编译到 js/ 目录.我正在使用 gulp-typescript.

My typescript files are in source/ directory. I'm compiling it to js/ directory. I'm using gulp-typescript.

问题是当我例如将文件 boot.ts 重命名为 bootstrap.ts 并再次编译时,对应的 bootstrap.js 文件已创建,但旧的 boot.js 文件仍保留在 js/目录中.

The problem is when I, for example, rename the file boot.ts to bootstrap.ts and compile again, corresponding bootstrap.js file is created but the old boot.js file still remains in the js/ directory.

现在文件夹结构如下-

├── gulpfile.js
├── index.html
├── js
|   ├── app.component.js
|   └── bootstrap.js
|   └── boot.js
├── source
|   ├── app.component.ts
|   └── bootstrap.ts
├── node_modules
    ├── module 1
    └── module 2

我想通过 gulp 任务自动删除这个 boot.js.如何做到这一点?

I want to delete this boot.js autonomically via gulp task. How to achieve this?

推荐答案

我来这里是看到标题,并且将 gulp 添加到组合中并不是解决方案.所以这就是我解决它的方法.

I came here seeing the title, and adding gulp into the mix was not a solution. So here is how I solved it.

在你的 npm 构建脚本前加上 rm -rf ./js/&&

Prefix your npm build script with rm -rf ./js/ &&

"scripts": {
    ...
    "build": "rm -rf ./js/ && tsc",
    ...
},

rm -rf ./js/ forcefully 删除 r./js/下面的所有文件和目录 doku rm in bash

rm -rf ./js/ forcefully removes recursively all files and dirs below ./js/ doku rm in bash

&& 表示如果成功执行下一个命令 &&在 bash 中

&& says if successfully do the next command && in bash

相关文章