如何解决并排使用'gulp.watch'和'tsc -watch'
我可以弄清楚为什么gulp.watch()
后面似乎只有tsc -watch
可以工作一半。同一文件上不能有多个观察者?或者,还有其他事情吗?
import { TaskFunction } from 'gulp';
import { spawn } from 'child_process';
import themeTask from './theme';
import { watch } from 'gulp';
const task: TaskFunction = (done: CallableFunction): void => {
watch('./src/themes/*.json',themeTask);
// This watcher is seems to be ignored whenever 'tsc' is spawned.
watch('./src/colors.ts',{ useFsEvents: true },(done: CallableFunction): void => {
spawn('npm',['run','build:theme'],{
stdio: 'inherit'
})
.on('exit',() => done());
});
spawn('tsc',[
'./src/extension.ts','--outDir','./dist','--listEmittedFiles','-watch','--preserveWatchOutput'
],{
stdio: 'inherit'
});
done();
};
export default task;
更新1
也许我没有正确发信号Async Completion?这是我更新的代码。有人可以确认这是原因吗?
import { TaskFunction } from 'gulp';
import themeTask from './theme';
import { watch } from 'gulp';
import { ChildProcess,spawn } from 'child_process';
// Removed completion since the task doesn't factually complete.
const task: TaskFunction = (): void => {
watch('./src/themes/*.json',themeTask);
// Changed completion to ChildProcess.
watch('./src/colors.ts',(): ChildProcess => {
return spawn('npm',{
stdio: 'inherit'
});
});
spawn('tsc',{
stdio: 'inherit'
});
};
export default task;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。