2016-07-27 49 views
0

我的問題是,dgeni文檔生成崩潰,我讀錯誤集沒有定義,所以我認爲錯誤與此有關。dgeni文檔生成集沒有定義

我已經安裝了dgeni通過npm安裝(目前在Windows 7下,但也嘗試過Ubuntu 14.04之前)。 隨着我的意思是:

  • dgeni〜0.4.2
  • dgeni-包〜0.14.0
  • 規範路徑0.0.2

在項目的公用文件夾有是很多.js文件。它們不是直接在/ public中,而是在一些子文件夾中。

我設立在文檔文件夾中的dgeni包這樣,位於/文檔/模板下載模板:

dgeni-docs.js

var path = require('canonical-path'); 
 
var Package = require('dgeni').Package; 
 

 
module.exports = new Package('dgeniDocsPackage', [ 
 
    require('dgeni-packages/dgeni'), 
 
    require('dgeni-packages/jsdoc'), 
 
    require('dgeni-packages/nunjucks') 
 
]) 
 

 
.config(function(log, readFilesProcessor, writeFilesProcessor, templateFinder, debugDumpProcessor) { 
 

 
    log.level = 'info'; 
 

 
    readFilesProcessor.basePath = path.resolve(__dirname, '..'); 
 
    readFilesProcessor.sourceFiles = [{ include: 'public/**/*.js', basePath: 'public' }]; 
 
    writeFilesProcessor.outputFolder = 'docs/build'; 
 

 
    templateFinder.templateFolders.unshift('docs/templates'); 
 
    templateFinder.templatePatterns.unshift('common.template.html'); 
 
});

common.template.html

<h1>{{ doc.codeName }} ({{ doc.outputPath }})</h1> 
 
<p>{{ doc.description }}</p> 
 

 
{%- if doc.params %} 
 
<h2>Params</h2> 
 
<ul> 
 
{%- for param in doc.params %} 
 
    <li> 
 
    <strong>{{ param.name }}</strong> { {{ param.typeList }} } - {{ param.description }} 
 
    </li> 
 
{%- endfor %} 
 
</ul> 
 
{%- endif %} 
 

 
{%- if doc.returns %} 
 
<h2>Returns</h2> 
 
<p> 
 
    { {{ doc.returns.typeList }} } - {{ doc.returns.description }} 
 
</p> 
 
{%- endif %}

和我一起開始了它的命令是 「dgeni \文檔\ dgeni-docs.js。」

輸出是:

W:\home\webserver\aconcept (master) ([email protected]) 
 
λ dgeni .\docs\dgeni-docs.js 
 

 
W:\home\webserver\aconcept\node_modules\dgeni-packages\jsdoc\services\transforms\extract-access.js:8 
 
    extractAccessTransformImpl.allowedDocTypes = new Set(['property', 'method']) 
 
               ^
 
ReferenceError: Set is not defined 
 
    at extractAccessTransform (W:\home\webserver\aconcept\node_modules\dgeni-packages\jsdoc\services\transforms\extract-access.js:8:52) 
 
    at Array.invoke [as 0] (C:\Users\HSO4ABT\AppData\Roaming\npm\node_modules\dgeni\node_modules\di\lib\injector.js:75:15) 
 
    at get (C:\Users\HSO4ABT\AppData\Roaming\npm\node_modules\dgeni\node_modules\di\lib\injector.js:48:43) 
 
    at C:\Users\HSO4ABT\AppData\Roaming\npm\node_modules\dgeni\node_modules\di\lib\injector.js:71:14 
 
    at Array.map (native) 
 
    at invoke (C:\Users\HSO4ABT\AppData\Roaming\npm\node_modules\dgeni\node_modules\di\lib\injector.js:70:31) 
 
    at C:\Users\HSO4ABT\AppData\Roaming\npm\node_modules\dgeni\lib\util\getInjectables.js:10:31 
 
    at Array.map (native) 
 
    at C:\Users\HSO4ABT\AppData\Roaming\npm\node_modules\dgeni\lib\util\getInjectables.js:9:22 
 
    at module.exports.Package.processor.processor.processor.processor.processor.processor.processor.processor.processor.factory.factory.factory.factory.factory.factory.factory.factory.factory.factory.config.config.config.extractTagsProcessor.defaultTagTransforms (W:\home\webserver\aconcept\node_modules\dgeni-packages\jsdoc\index.js:42:39)

感謝您閱讀

回答

0

我設法做到了這一點,解決方案是使用gulp代代。直到文檔也應該可以直接在控制檯中調用它。

這裏對於那些你誰感興趣的一個完整的成品例如: https://github.com/petebacondarwin/dgeni-example

+1

發現自己遇到了一個非常類似的問題,與咕嘟咕嘟運行後會幫助,但最終我的問題是一個老的NodeJS安裝(V10 .35確切地說)。我不確定你需要什麼最低版本的Node,但是一旦我安裝了最新的Node(在評論時爲v6.9.1),它肯定會起作用。 –