2016-07-27 59 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),它肯定会起作用。 –