`
zccst
  • 浏览: 3319957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dragonfly环境搭建——jsDuck

阅读更多
作者:zccst

环境安装好了,发现注释也是一个大坑,比如@example,必须要四个缩进。
例如:
    /**
     * 表格
     *
     * @extends Widget
     * @constructor
     * @param {Object} [options] 初始化参数
     * 
     *     @example
     *     {
     *       checkbox:true,     //每列前面是否有复选框
     *       noDataHtml: '没有数据',
     *       columns: [{
     *           label: '名称',  //列头的标题
     *           field: 'name',  //数据字段标示
     *           title: '名称',  //列头的title属性
     *           width: '300px', //列宽,单位:px
     *           align: 'center',//列头标题的对齐方式
     *           sortable: true, //列是否可排序
     *           render: [function(data, row){
     *               return html = '<a href="javascript:void(0);">'+(data + 'bizdev')+'</a>';
     *           },function(data, row){
     *               return data;
     *           }]
     *        }]
     *      }
     */
    function Table(options) {
        Widget.call(this, options);
    }

问了大牛,人家看遍了所有的jsDuck注释,包括每一个注释的含义及注意事项,而且还说这东西很少,一共也没多少。

我想这就是差距。
与牛人的差距:别人看到一个新东西,完完整整看完了,看懂了,不懂的地方通过实践体会;而我不过是走马观花,浅尝辄止,直至用到时向xx求助。求助后,发现就是因为当初看得不够仔细。



二,注释语法
参考URL:https://github.com/senchalabs/jsduck/wiki
Detailed docs for using all the builtin tags:

@abstract
@accessor
@alias
@alternateClassName
@aside
@author
@cfg
@chainable
@class
@constructor
@deprecated
@docauthor
@enum
@event
@evented
@example
@experimental
@extends
@fires (in 5.x beta)
@ftype
@hide
@ignore
@inheritable
@inheritdoc
@localdoc (in 5.x beta)
@markdown
@member
@method
@mixins
@new
@override
@param
@preventable
@private
@property
@protected
@ptype
@readonly
@removed
@requires
@return
@scss mixin
@since
@singleton
@static
@template
@throws
@type
@uses
@var
@xtype
Also for the inline tags:

{@link}
{@img}
{@video}
Various tags use {TypeDefinitions}, the syntax for these is described here:

Type Definitions
















前期准备

    安装 NodeJs
    安装 JSDuck,配置环境变量,熟悉JSDuck注释语法
    安装 RequireJS:npm install -g requirejs,将 r.js 拷贝到 ./tool 下
    安装 JS Beautifier:$ npm install -g js-beautify
    安装 JSHint:$ npm install -g jshint


Generating Ext JS 4 docs  #Ext JS 4是一个项目名称
https://github.com/senchalabs/jsduck/wiki/Usage


官方手册:
https://github.com/senchalabs/jsduck/wiki

New in JSDuck 5
Installation - Help on installing JSDuck.
Usage - Running the JSDuck program.
Introduction to JSDuck - Overview of the main features. Start here.
Categories - List your classes in a systematic manner.
Guides - Write guides and tutorials in addition to API documentation.
Inline examples - Making the live code examples work.
Config file - Pack a load of command line options to a config file.



一、安装jsDuck
分Linux,ISO和Windows版。我安装的Windows版,是下载一个xx.exe文件

双击xx.exe安装报错:
Please specify some input files, otherwise there is nothing I can do

查资料,解决办法:
eg. command ... C:\Users\pavitra\Downloads\jsduck-6.0.0-beta.exe --builtin-classes --output docs


1,简单命令
cd dragonfly->0.3.0                      #进入目标文件夹

[重点,第一个src是要生成注释文档的目标文件夹,第二个--output docs是生成后文件夹保存的位置]
jsduck-6.0.0-beta.exe src --output docs  #成功创建docs


命令含义:
–builtin-classes:构建javascript语言内建类文档,如Array或Object类的使用说明。
–output:文档输出所在目录。
–encoding:编码默认为utf-8,如果js文件中包含了中文字符设置gbk即可。
–welcome:为一个html文件的路径,文件中的内容会被解析出来放到文档的欢迎页显示。
–eg-iframe:配置一个html文件路径,这个html文件用来配置@example范例的预览方式,如需要生成非ExtJs或者sencha touch项目的话通常都需要自定义配置。
–images:如果文档中引入了图片需配置一个图片目录。
–title:自定义文档的标题
–footer:自定义文档脚注
–help:full 显示帮助文档。



那么为什么src里的文件能自动生成基于jsduck的文档?
答:jsduck会在目标文件夹下找所有js文件的注释,以及他们之间的继承关系。
并且按文件夹生成树结构,逐一生成。
对于没有注释的文件或文件夹直接忽略。


jsduck是如何做到的?
答:还在研究中。


2,复合命令
extjs-conf.json
{
    "--": "extjs/src",
    "--warnings": [
        "-no_doc:extjs/src",
        "-no_doc_member:extjs/src",
        "-link:extjs/src",
        "-type_name:extjs/src"
    ],
    "--ignore-html": [
        "locale",
        "debug"
    ],
    "--images": "extjs/docs/images",
    "--builtin-classes": true
}



$ jsduck --config extjs-conf.json --output docs

For additional info on all the different warnings types run jsduck --help=warnings.


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    DragonFly_四轴_teethjde_dragonfly资料包_Dragonfly_drone.zip

    通过研究源码,我们可以了解到飞行控制软件如何处理实时数据,如何在复杂的环境下保持稳定飞行,以及如何实现精准的定位和导航。对于开发人员来说,这是一次深入了解无人机控制系统的好机会,可以学习到实时系统设计...

    DragonFly_四轴_teethjde_dragonfly资料包_Dragonfly_drone_源码.rar.rar

    本次资料包——"DragonFly_四轴_teethjde_dragonfly资料包_Dragonfly_drone_源码.rar.rar",为我们提供了宝贵的源码资源,让我们有机会深入了解这款无人机的运作机制。 首先,"DragonFly"这个名字暗示了这款无人机...

    PyPI 官网下载 | dragonfly-core-1.18.3.tar.gz

    《PyPI官网下载|Dragonfly Core 1.18.3——深入理解分布式与云原生的Python库》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python爱好者提供了丰富的第三方库下载服务。在PyPI官网上,...

    PyPI 官网下载 | dragonfly-grasshopper-1.10.5.tar.gz

    《PyPI官网下载:Dragonfly Grasshopper 1.10.5——探索分布式与云原生Python库》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球Python用户提供了丰富的第三方库,方便了软件开发。在本文中,...

    opera dragonfly插件下载

    opera dragonfly插件下载opera dragonfly插件下载opera dragonfly插件下载

    Python库 | dragonfly_energy-1.9.28-py2.py3-none-any.whl

    《Python库Dragonfly Energy详解——实现高效能源管理的利器》 在Python的生态系统中,库是开发者们不可或缺的工具,它们极大地丰富了Python的功能,提高了开发效率。今天我们将聚焦于一个名为“Dragonfly Energy”...

    安卓APP开发项目——Dragonfly.zip

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,...

    Dragonfly

    在不同的背景和颜色搭配下,字体的对比度和反差也会影响阅读效果,因此,理解Dragonfly在不同环境下的表现对于设计师来说至关重要。 此外,了解字体的版权和使用许可也是必不可少的。如果是商业用途,设计师需要...

    VC控件(Dragonfly Automation Software)扩展版本

    【VC控件(Dragonfly Automation Software)扩展版本】是一款针对Visual C++(VC++)开发环境,基于MFC(Microsoft Foundation Classes)框架的高级控件集。这款控件库为开发者提供了丰富的功能,旨在简化自动化软件的...

    dragonfly-s3_data_store, Dragonfly ruby gem的S3数据存储.zip

    dragonfly-s3_data_store, Dragonfly ruby gem的S3数据存储 Dragonfly::S3DataStoreAmazon AWS数据存储,用于蜻蜓 gem 。gem 'dragonfly-s3_data_store'用法配置( 请记住要求)require 'dragonfly/

    PyPI 官网下载 | dragonfly-grasshopper-1.26.2.tar.gz

    《PyPI官网下载:Dragonfly-Grasshopper 1.26.2——Python库在分布式环境中的应用》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python开发者提供了丰富的开源软件包。在PyPI官网上,我们...

    Python-Dragonfly用于可扩展贝叶斯优化的开源python库

    Python-Dragonfly是一个开源的Python库,专门设计用于可扩展的贝叶斯优化。这个库在机器学习领域具有广泛的应用,特别是在高维度和大规模优化问题上。贝叶斯优化是一种有效的全局优化方法,它利用概率模型来平衡探索...

    Dragonfly蜻蜓技术架构介绍.pptx

    Dragonfly蜻蜓技术架构介绍 作为一个专业的IT行业大师,我将对Dragonfly蜻蜓技术架构进行详细介绍。 Dragonfly蜻蜓技术架构介绍 Dragonfly是一种基于P2P(Peer-to-Peer)的镜像分发机制,旨在解决大规模分布式...

    Python库 | dragonfly_energy-1.8.30-py2.py3-none-any.whl

    《Python库Dragonfly Energy详解——探索1.8.30版本》 在Python的世界里,丰富的第三方库是其强大功能的重要支撑。今天我们要探讨的是名为`dragonfly_energy`的库,它在1.8.30版本中为Python开发者提供了强大的能源...

    DRAGONFLY

    "DRAGONFLY"是一个与字体相关的主题,很可能是指一种特定的字体设计或者字体库。在计算机领域,字体是用于显示或打印文本的图形样式,它们对于视觉传达、设计和排版都至关重要。DRAGONFLY可能是一个艺术家、设计师...

    Dragonfly2 Technical Reference

    文档中提到该设备已经过测试,符合FCC的Class A数字设备规则,这表明设备适用于商业环境,但若在居民区使用可能会对无线电通信造成干扰。 6. 文档中强调了设备使用和安装时须遵循手册中的说明,否则可能会产生有害...

    Dragonfly是一个用于可扩展贝叶斯优化的开源python库-python

    Dragonfly是一个用于可扩展贝叶斯优化的开源python库Dragonfly 是一个用于可扩展贝叶斯优化的开源 Python 库。 贝叶斯优化用于优化评估通常很昂贵的黑盒函数。 除了普通的优化技术,Dragonfly 还提供了一系列工具来...

    df_win:Windows的Dragonfly游戏引擎实现

    Windows的Dragonfly实施 这是Mark Claypool的Dragonfly游戏引擎的Windows实现。 参见: : 我们的目标是提出该游戏引擎的CMM2 MMBasic版本,但我需要在PC上按本书的C ++版本进行交叉检查。 此游戏引擎的CMM2版本将...

    PyPI 官网下载 | lbt-dragonfly-0.7.350.tar.gz

    本文将围绕标题提及的资源——"lbt-dragonfly-0.7.350.tar.gz",探讨其在分布式系统、云原生环境以及Python库中的应用和重要性。 "lbt-dragonfly-0.7.350.tar.gz"是一个经过压缩的Python软件包,其中包含了名为"lbt...

    Ruby-DragonFly一个高度可定制的rubygem处理图片和其他附件上传

    Ruby DragonFly 是一款强大的Ruby gem,专为处理图片和其他附件上传而设计,提供高度的定制性,使得开发者能够轻松地在应用程序中实现复杂的文件管理功能。这个库的核心目标是简化文件上传过程,同时保持灵活性,以...

Global site tag (gtag.js) - Google Analytics