Как удалить скомпилированные JS файлы из предыдущих typescript (. Ts) файлов?

Я следую Angular 2 быстрый запуск. Ниже приведена структура папок -

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

Мои файлы typescript находятся в каталоге source/. Я компилирую его в каталог js/. Я использую gulp - typescript.

Проблема заключается в том, что когда я, например, переименую файл boot.ts в bootstrap.ts и снова скомпилирую, создается соответствующий файл bootstrap.js, но старый файл boot.js все еще остается в каталоге js/.

Теперь структура папки выглядит следующим образом:

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

Я хочу удалить это boot.js автономически с помощью задачи gulp. Как достичь этого?

Ответ 1

Установите gulp del.

$ npm install --save-dev gulp del

Создайте задачу.

var gulp = require('gulp');
var del = require('del');

gulp.task('clean:output', function () {
  return del([
    'js/'
  ]);
});

gulp.task('default', ['clean:output']);

Вы можете найти больше информации о gulp del здесь.

Ответ 2

Я пришел сюда, увидев заголовок, и добавление gulp в микс не было решением. Итак, вот как я это решил.

Префикс сборки npm script с помощью rm -rf js &&

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

Надеюсь, что кто-то найдет это полезным.

Ответ 3

с последней версией tsc, вы можете выполнить очистку с помощью следующей команды

tsc --build --clean

Моя версия TSC для вашей справки

$ tsc --version
Version 3.5.3