Gulp-观看 Windows 7 期 - Node.js、NPM 和 Gulp 安装成功
Gulp-Watch on Windows 7 Issue - Node.js, NPM and Gulp installed successfully
我对使用 Node.js、NPM 和所有这些现代工具来提高生产力和工作流程非常陌生。
下面是详细信息:
Node version - v8.10.0
Gulp CLI version - 2.0.1
Gulp Local version - 3.9.1
NPM version - 5.6.0
Windows 7
Node.js installed in D:/ProgramFiles
我试过使用 gulp 并且它与这个脚本一起工作得非常好
var gulp = require('gulp'),
watch = require('gulp-watch');
gulp.task('default',function(){
console.log('Gulp task created');
});
gulp.task('html' , function() {
console.log('Something useful here');
});
gulp.task('watch', function() {
watch('/app/index.html', function() {
gulp.start('html');
});
});
因此键入 gulp 确实会使用默认任务消息进行响应。输入 gulp html 也会通过控制台消息进行响应。但是,当我键入 gulp watch 时,它确实可以使用以下输出。
Starting 'watch'...
Finished 'watch' after 7.99 ms
但是每当我进行更改并保存索引文件时,cmd 都不会更新。我试过使用 Git Bash 和其他终端。我什至安装了以前的节点版本,并尝试使用这些版本解决这个问题,但到目前为止还没有成功。
我尝试将依赖项编辑为旧版本,但这也不起作用。
如果你们中的任何人能提供帮助,我将不胜感激。
更新了回调方法以结束进程以正常退出并且不使用 CTRL-C。
gulp.task('watch',function(){
gulp.watch('./data/index.html', function(){
gulp.start(['someOtherGulpTask']);
});
});
gulp.task('someOtherGulpTask', function () {
gulp.src('./test/sometest.js')
.pipe(gulpmocha(),setTimeout(function() {
cb();
}, 5000))
});
function cb(){
process.exit(1);
}
原回答如下
gulp 个任务的执行顺序是 -
- 先执行默认任务,然后执行后续任务,除非任务
在对 gulp 的 cmdline 调用中特别提到要执行
已经提到 - "gulp watch".
您可以在gulp文件的开头指定顺序,例如
gulp.task('default', ['watch']);
或者,您可以像这样明确地开始一个任务,
gulp.task('default',函数(完成){
console.log('Gulp task created');
gulp.start('watch');
完毕();
});
done 是允许您等待任务完成的回调,它在您的 gulp 文件中缺失。下面是完整的 gulp 文件,您可以根据需要使用它来执行监视任务。
var gulp = require('gulp'),
watch = require('gulp-watch');
gulp.task('default',function(done){
console.log('Gulp task created');
gulp.start('watch');
done();
});
gulp.task('html' , function() {
console.log('Something useful here');
});
gulp.task('watch', function() {
watch('./data/index.html', function() {
console.log('Some changes done');
});
});
gulp.task('watch', function () {
gulp.watch('./data/index.html', ['html']);
});
避免gulp.start,没有记录或推荐。
我对使用 Node.js、NPM 和所有这些现代工具来提高生产力和工作流程非常陌生。
下面是详细信息:
Node version - v8.10.0
Gulp CLI version - 2.0.1
Gulp Local version - 3.9.1
NPM version - 5.6.0
Windows 7
Node.js installed in D:/ProgramFiles
我试过使用 gulp 并且它与这个脚本一起工作得非常好
var gulp = require('gulp'),
watch = require('gulp-watch');
gulp.task('default',function(){
console.log('Gulp task created');
});
gulp.task('html' , function() {
console.log('Something useful here');
});
gulp.task('watch', function() {
watch('/app/index.html', function() {
gulp.start('html');
});
});
因此键入 gulp 确实会使用默认任务消息进行响应。输入 gulp html 也会通过控制台消息进行响应。但是,当我键入 gulp watch 时,它确实可以使用以下输出。
Starting 'watch'...
Finished 'watch' after 7.99 ms
但是每当我进行更改并保存索引文件时,cmd 都不会更新。我试过使用 Git Bash 和其他终端。我什至安装了以前的节点版本,并尝试使用这些版本解决这个问题,但到目前为止还没有成功。
我尝试将依赖项编辑为旧版本,但这也不起作用。
如果你们中的任何人能提供帮助,我将不胜感激。
更新了回调方法以结束进程以正常退出并且不使用 CTRL-C。
gulp.task('watch',function(){
gulp.watch('./data/index.html', function(){
gulp.start(['someOtherGulpTask']);
});
});
gulp.task('someOtherGulpTask', function () {
gulp.src('./test/sometest.js')
.pipe(gulpmocha(),setTimeout(function() {
cb();
}, 5000))
});
function cb(){
process.exit(1);
}
原回答如下
gulp 个任务的执行顺序是 -
- 先执行默认任务,然后执行后续任务,除非任务 在对 gulp 的 cmdline 调用中特别提到要执行 已经提到 - "gulp watch".
您可以在gulp文件的开头指定顺序,例如
gulp.task('default', ['watch']);
或者,您可以像这样明确地开始一个任务,
gulp.task('default',函数(完成){ console.log('Gulp task created'); gulp.start('watch'); 完毕(); });
done 是允许您等待任务完成的回调,它在您的 gulp 文件中缺失。下面是完整的 gulp 文件,您可以根据需要使用它来执行监视任务。
var gulp = require('gulp'),
watch = require('gulp-watch');
gulp.task('default',function(done){
console.log('Gulp task created');
gulp.start('watch');
done();
});
gulp.task('html' , function() {
console.log('Something useful here');
});
gulp.task('watch', function() {
watch('./data/index.html', function() {
console.log('Some changes done');
});
});
gulp.task('watch', function () {
gulp.watch('./data/index.html', ['html']);
});
避免gulp.start,没有记录或推荐。