摘要:我們在對現(xiàn)在較主流的五個文檔工具分別作了調(diào)研和嘗試,得到結(jié)論如下工具優(yōu)點缺點提供了完整的模板開發(fā)事件觸發(fā)等接口,使用非常靈活。至此,的環(huán)境部署已經(jīng)全部完成了。
字?jǐn)?shù):981
閱讀時間:5分鐘
選型依據(jù)? 在經(jīng)歷了數(shù)個上線的項目之后,筆者所在的團隊已經(jīng)沉淀了一個相對穩(wěn)定版本的前端框架。因此,我們需要出具一套框架API文檔,以便公司其他成員的使用和框架的后期維護。我們在對現(xiàn)在較主流的五個文檔工具:JSDoc 3、YUIDoc、Dox、Docco、JSDuck分別作了調(diào)研和嘗試,得到結(jié)論如下:
工具 | 優(yōu)點 | 缺點 |
---|---|---|
JSDoc3 | 提供了完整的模板開發(fā)、事件觸發(fā)等接口,使用非常靈活。 | 對代碼要求比較嚴(yán)格,學(xué)習(xí)曲線較高。 |
YUIDoc | 不止支持JS語言,更加抽象,如果同時使用了 Ruby/PHP/Python等語言YUI都可以使用。 | 功能更加抽象,具體實現(xiàn)方面考慮不全。 |
Dox | 輕量級、高度可定制化,兼容JSDoc3語法。 | 后期會有較多問題需要自己解決。 |
Docco | 行間注釋方式,更注重實現(xiàn)過程的文檔 | 不太適合API注釋 |
JSDuck | 代碼實時修改、語法靈活、支持MarkDown語法,支持查看源碼并且文檔可讀性較高,最主要的是上手非常快。 | 可定制化支持不足,略顯臃腫。 |
? 我們選型的條件權(quán)重由高到低依次是:
? 1.較強的可讀性。
? 2.較低的學(xué)習(xí)成本。
? 3.注釋語義的豐富程度,是否滿足我們的需求。
? 4.是否足夠靈活。
? JSDuck可讀性較高,上手較快,并且使用JSDuck工具生成的extJS文檔的成功有目共睹,綜合考量,我們最終選擇了JSDuck工具。
環(huán)境部署? 由于JSDuck需要依賴ruby環(huán)境,所以環(huán)境部署分為以下三步:
? 1.安裝ruby
? 2.安裝devkit
? 3.安裝JSDuck
? 第一步,安裝ruby :
? 下載地址:https://rubyinstaller.org/dow...
?
? 選擇符合本機電腦的安裝包下載即可。
? 第二步,安裝devkit:
? 下載地址:https://rubyinstaller.org/dow...
?
? 選擇符合本機電腦的安裝包下載即可。注意devkit安裝目錄不要有中文或者特殊字符,然后在安裝根目錄下執(zhí)行cmd命令 ruby dk.rb init。這時,我們會在當(dāng)前目錄下看到一個config.yml文件,編輯該文件,添加ruby目錄配置。例如,筆者的ruby是安裝在 F:/Ruby22-x64 目錄下,就做如下圖修改即可:
?
? 安裝成功后,執(zhí)行命令 ruby dk.rb install 命令。
? 第三步:安裝JSDuck
? 執(zhí)行命令 gem install jsduck 命令安裝jsduck。
? 至此,JSDuck的環(huán)境部署已經(jīng)全部完成了。
第一個文檔? 準(zhǔn)備工作終于做完了,那還等什么,當(dāng)然是馬上開始看看我們成果如何啦!
? 在 G:test-jsduck目錄下,創(chuàng)建一個test.js文件,編寫如下代碼:
/** * @class 人類 * @author lsjcoder * @docauthor lsjcoder */ function People(){ /** * * @property {String} 姓名 */ this.name = "lsjcoder"; /** * 吃飯 * @method * @param food {String} 食物名稱 * @return {Boolean} 是否吃過 */ this.eat = function(food){ if(food != null){ return true; }else{ return false; } } }
? 然后在cmd中運行命令 jsduck "G:test-jsducktest.js" --output=G:test-jsduckdoc ,工具就自動將文檔生成到目錄 G:test-jsduckdoc 下,直接運行里面的 index.html 文件就可以看到如下成果圖:
? 是不是非常簡單粗暴且可讀性爆表呀!筆者會在接下來的系列文章中詳細介紹JSDuck的所有技術(shù),并且最后會將筆者公司在JSDuck中前端框架的實踐以案例的形式分享給大家,敬請期待哦!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/90725.html
摘要:語法父類名表示當(dāng)前類繼承于哪個類的標(biāo)簽。成員標(biāo)簽成員標(biāo)簽作用于類中的配置屬性函數(shù)事件。表明可被子類繼承,和一起使用。示例獲取圓的面積圓的半徑面積值作用于函數(shù),表明函數(shù)的標(biāo)簽。作用于函數(shù),表明構(gòu)造函數(shù)參數(shù)的標(biāo)簽,用法同。 字?jǐn)?shù):3692字 閱讀時間:15分鐘 前言 ? 首先,咱們有一個前提,JSDuck對我們而言只是一個便于API查看的文檔化工具。因此,只要它能夠滿足我們文...
摘要:本文比較了種較為主流的注釋文檔生成工具。應(yīng)該說是非常適合開源項目多個作者共同維護的一個文檔工具。最后我選擇了作為文檔生成的工具。為了支持多種語言,它僅對注釋塊內(nèi)部的內(nèi)容進行解析。 最近隨著寫Node以及獨立的CommonJS模塊越來越多,我發(fā)現(xiàn)有一份好的文檔不僅可以幫助自己在應(yīng)用這些接口的時候不至于迷糊,而且對于共同開發(fā)的情況下,能夠省去大量團隊的交流和Debug的時間。 本文比較了...
摘要:我們先聲明了類,在類的注釋上添加標(biāo)簽表示靜態(tài)類。靜態(tài)類中包含一個方法,實現(xiàn)了一個簡單的擴展功能,后面類的繼承需要用到這個接口。這里需要注意,靜態(tài)類中,所有的成員也都是靜態(tài)的。 字?jǐn)?shù):2543 閱讀時間:15分鐘 前言 ? 上一篇文章我們講述了JSDuck的詳細用法。那么,本文筆者就以實例為基礎(chǔ),和大家一起,從零開始,搭建一個簡單的API文檔——我們的第一個API文檔V0.0.1。...
摘要:融合思路解決這個問題,有兩種思路。給我們帶來了以下新成員模塊服務(wù)指令篩選器和控制器。與其他類是通過類的名稱區(qū)分的,名稱統(tǒng)一以結(jié)尾。這種處理方式是一種折中方案,如果想要更加規(guī)范優(yōu)雅的話,建議使用自定義標(biāo)簽來解決。 字?jǐn)?shù):1568 閱讀時間:10分鐘 前言 ??前面,我們以一個實戰(zhàn)案例來詳細說明了如何在實際開發(fā)中使用JSDuck工具。但是,并不是所有的時候,代碼的封裝方式都受我們控制的。...
摘要:背景當(dāng)知道要上傳的視頻資料從條變成條時,我就明白,絕對不能再人工處理了。 背景 當(dāng)知道要上傳的視頻資料從20條變成100條時,我就明白,絕對不能再人工處理了。他們總是想當(dāng)然的認(rèn)為,錄入一條數(shù)據(jù)需要1分鐘,那錄入20條數(shù)據(jù)就是20分鐘,錄入100條數(shù)據(jù),不就是100分鐘嗎?我有時候,真的很想問問他們,沒有考慮過人是會犯錯的嗎?數(shù)據(jù)越多,出錯的可能就越大;但是數(shù)據(jù)本身,又是不允許出現(xiàn)紕漏的...
閱讀 3656·2021-09-22 15:15
閱讀 3559·2021-08-12 13:24
閱讀 1312·2019-08-30 15:53
閱讀 1823·2019-08-30 15:43
閱讀 1184·2019-08-29 17:04
閱讀 2793·2019-08-29 15:08
閱讀 1582·2019-08-29 13:13
閱讀 3088·2019-08-29 11:06