Как использовать gulp-change с gulp-typcript
Я интегрирую gulp-change, чтобы предотвратить внесение всех файлов в консоль при изменении. Это работает для моих файлов HTML, но я также использую gulp-typcript для переноса моих файлов TypeScript в JavaScript.
Я использую рабочий процесс TypeScript в соответствии с предложением Дэна Уолина.
Итак, я реализовал gulp-change в gulp-typcript следующим образом:
var res = gulp.src(config.src)
.pipe($.sourcemaps.init())
.pipe($.changed(config.dest)) // <-- THIS LINE IS WHAT I ADDED
.pipe($.typescript({
target: config.options.target,
module: config.options.module,
removeComments: true
}));
res.dts.pipe(gulp.dest(config.dest));
return res.js
.pipe($.sourcemaps.write('.'))
.pipe(gulp.dest(config.dest));
мой config
объект выглядит так:
"src": "./source/app/**/*.ts",
"ignore": "!./source/**/*.d.ts",
"options": {
"target": "ES5",
"module": "commonjs"
},
"lint": "prose",
"dest": "./build/public/app"
Тем не менее, все файлы регистрируются, когда я изменяю один файл. Я даже пытался переместить вышеупомянутую строку .pipe($.changed(config.dest))
прямо перед .pipe($.sourcemaps.write('.'))
линия.
Опять не повезло.
Кто-нибудь знает, как это исправить?
1 ответ
Ваши входные файлы имеют другое расширение, чем выходные файлы. Вам нужно использовать extension
возможность включить gulp-changed
найти правильные файлы для сравнения:
.pipe($.changed(config.dest, {extension: '.js'}))