0

我在 Solaris 上运行 JSDuck v5.3.4,带有一个非常简单的输入文件:

/**
 * @class Designer
 */

我像这样运行它:

~/.gem/ruby/1.9.1/bin/jsduck --out ~/public_html/duck   foo.js

当我尝试浏览生成的内容时,我看到了巨大的加载设备和绿色的 JSDuck 横幅,但它永远不会结束。在 Chrome 检查器控制台上,我看到一个 JS 错误:

Uncaught TypeError: undefined is not a function app-0c945a27f43452df695771ddb60b3d14.js:1
Ext.define.setLogic app-0c945a27f43452df695771ddb60b3d14.js:1
Ext.define.initComponent app-0c945a27f43452df695771ddb60b3d14.js:1
Ext.define.constructor ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.constructor ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.constructor ext-all.js:38
i ext-all.js:38
Ext.apply.widget ext-all.js:38
Ext.define.create ext-all.js:38
Ext.define.lookupComponent ext-all.js:38
Ext.define.prepareItems ext-all.js:38
Ext.define.add ext-all.js:38
Ext.define.initItems ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.initItems ext-all.js:38
Ext.define.initComponent ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.initComponent ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.initComponent ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.initComponent app-0c945a27f43452df695771ddb60b3d14.js:1
Ext.define.constructor ext-all.js:38
b.implement.callParent ext-all.js:38
Ext.define.constructor ext-all.js:38
(rest of the stack just repeats the recursive call chain)

我可以使用独立的 Win32 JSDuck 可执行文件(也是 v5.3.4)在 Windows 上很好地生成这个文档

我将不胜感激任何帮助找出我可能做错了什么!生成的输出中没有源映射,我也找不到任何方法来禁用 Ext4 捆绑版本的缩小或源映射。考虑到这是最常见的 JS 错误,对这个“Uncaught TypeError: ...”进行搜索并没有什么成果。

4

1 回答 1

0

尝试初始化左侧类树时,看起来它在 Docs.view.cls.Tree 的 setLogic 方法内失败

可能传递给 Web 应用程序的数据有问题。JSDuck 生成一个data-SOMEHASH.js文件到它的输出目录。看看这个可以提供一些后见之明。

PS。使用 --pretty-json 选项以获得更具可读性的 data.js 输出。

于 2014-03-06T14:09:09.957 回答