首页 > 解决方案 > gulp 监视文件更新 jsdoc

问题描述

我正在尝试查看目录中的一些文件并使用 jsdoc 自动更新那里的文档。我使用 gulp 来查看文件并运行 jsdoc,参见下面的代码。

const gulp = require('gulp');
const watch = require('gulp-watch');
const jsdoc = require('gulp-jsdoc3');

gulp.task('doc', function(cb) {
  const config = require('./jsdoc.json');
  return watch(['../upload/**/*.js'], { ignoreInitial: false })
        .pipe(jsdoc(config, cb));
});

当我运行此任务时,它不会在文件更改时更新我的​​ jsdoc。jsdoc不能和watch功能一起工作吗?

标签: javascriptgulpjsdoc3

解决方案


不确定问题是否来自 gulp-jsdoc3。也许你想把你的任务分成两个任务。

  1. 工作的任务和
  2. 对于观察者

        const gulp = require('gulp');
        const watch = require('gulp-watch');
        const jsdoc = require('gulp-jsdoc3');
    
    
        gulp.task('jsdoc-task', function() {
    
              console.log('task is running')
    
              const config = require('./jsdoc.json');
              return gulp.src( 'scr/files' )
                .pipe(jsdoc(config)).
                .pipe(gulp.dest( 'your destination path ));
    
        });
    
    
        gulp.task('watch', function() {
    
          gulp.watch('files-to-watch', [jsdoc-task]);
    
        });
    

请注意,观察者没有return,并且files to watchsrc 不应与输出目标文件相同。

您现在可以查看consol.log并检查任务是否已启动。

现在应该更容易找出问题所在。如果它不起作用,请查看错误消息以获取更多详细信息。


推荐阅读