2015-04-02 23 views
2

我很努力地理解我當前的gulp文件中缺少的東西,以使JSDoc高興。設置一個基本的Gulp文件來運行JSDoc

下面的代碼不會導致任何錯誤被拋出,但看着生成的文檔的索引頁,很明顯我的文檔沒有被格式化。

缺少什麼我在這裏?

首先,這裏是我想要記錄的功能。

/** 
* Returns the sum of a and b 
* @param {Number} a 
* @param {Number} b 
* @return {Number} Sum of a and b 
*/ 
var sum = function(a, b){ 
    return a + b; 
}; 

接下來,這裏是我的gulpfile.js

var gulp = require('gulp'); 
var jsdoc = require('gulp-jsdoc'); 

gulp.task('js-doc', function(){ 
    return gulp.src([ 'app.js' ]) 
    .pipe(jsdoc.parser({}, 'test')) 
    .pipe(jsdoc.generator('./docs')); 
}); 

有一次,我跑gulp js-doc,它創建docs /目錄下,並建立了文檔。但是,訪問瀏覽器中的index.html頁面顯示沒有實際生成文檔。當我看到app.js.html,另一個由JSDoc生成的文件時,我看到了我的代碼塊,但是沒有任何文件被解析並轉化爲實際的文檔。見下面的截圖。

enter image description here

我覺得我失去了JSDoc或咕嘟咕嘟的一些基本認識。

+0

我覺得問題出現在'gulp-jsdoc','jsdoc'這兩個命令行中,並且使用'grunt'顯示正確,'gulp-jsdoc'由於某種原因忽略了全局變量,除非用註釋'class','namespace'或'event' – mido 2015-04-02 07:17:21

回答

4

想通了:

npm install --save jsdoc gulp-shell

然後,你裏面在gulpfile.js下面粘貼要求和任務:

var gulp = require('gulp'); 
var shell = require('gulp-shell'); 

gulp.task('js-doc', shell.task(['./node_modules/jsdoc/jsdoc .'])); 

現在,當您運行命令行gulp js-doc,你將生成文檔。

+2

只是一個快速提示:對我來說,我必須在我的gulp任務中使用'./ node_modules/.bin/jsdoc'而不是'./ node_modules/jsdoc/jsdoc'。我的shell任務最終是這樣的:''./node_modules/.bin/jsdoc src -r -d docs'' – TehOne 2015-10-21 17:02:11

+1

Site is down in your link。你可以發佈你的gulp文件的內容來完成任務嗎? – 2015-11-17 18:23:22

+0

對不起,我的域名已過期。發表答案。 – 2016-01-11 20:39:16

相關問題