Я хотел бы скомпилировать только измененные файлы typescript с помощью grunt-ts (иначе это было бы крайне медленно), но, похоже, я не могу.
- Я пытался запустить его как параллельную задачу, но в этом случае кажется, что мои обычные часы не работают.
- Также пытался использовать для этого часы, но в этом случае он компилирует все файлы.
Единственный способ, которым я преуспел, — это запустить grunt-ts как отдельный процесс grunt. Таким образом, он действительно компилирует только измененные файлы, но мне нужно запускать его отдельно
Так что, очевидно, я хотел бы запустить только одно хрюканье.
Любое предложение, как я могу это сделать?
ОБНОВИТЬ:
Что странно, что сегодня я изменил настройки, и они работают вроде хорошо.
У меня есть справочный файл для завершения (над папкой приложения) и навигации, а также мой файл компилируется достаточно быстро.
Не уверен, как это делается, поскольку компиляция настроена как false для ts: dev (это просто для поддержки моего эталонного файла).
Также я остановил хрюканье, чтобы попробовать, работает ли что-то еще. Но файлы js не обновлялись, так что больше ничего их не компилирует.
Странно, но теперь он работает, как я и хотел. (хотя не уверен, почему grunt-ts компилирует файл, если по умолчанию у меня false, но...)
Моя конфигурация:
ts: {
options: {
compile: false,
comments: false,
target: 'es5',
module: 'amd',
sourceMap: true,
sourceRoot: '',
mapRoot: '',
declaration: false,
noImplicitAny: false,
fast: 'never'
},
initDev: {
src: [
'<%= yeoman.app %>/**/*.ts'
],
reference: '_references.ts',
options: {
compile: true
}
},
dev: {
src: [
'<%= yeoman.app %>/**/*.ts'
],
reference: '_references.ts'
}
}
...
watch: {
ts: {
files: '<%= yeoman.app %>/**/*.ts',
tasks: ['ts:dev']
}
}
Я запускаю ts:initDev при запуске grunt и запускаю ts:dev при изменении файлов.
ОБНОВЛЕНИЕ 2:
Извините, кажется, что что-то еще компилирует файлы. Я настроил tsc для компиляции в настройках редактора. Это нормально.