QWrap簡介之核心庫定製
提醒:本文最後更新於 2661 天前,文中所描述的資訊可能已發生改變,請謹慎使用。
圍觀過QWrap的同學可能會注意到其官方的特性介紹裡有這麼一條:
提供YUI2一樣的靜態方法庫,同時又用所謂的Helper規範來做到真正的絕對靜態,讓元件開發者可以釋出出無依賴的元件。
其中,元件無依賴化,也就是核心庫定製這個特性,在某些場景下還是非常有用的。QWrap提供了相應的工具來實現,JK這篇文章有詳細說明。只是這個工具藏得很深沒多少人知道,好酒也怕巷子深~ 最近我在這個工具的基礎上增加了程式碼選取的功能,一起再給大家介紹下。
第一步,選擇要用到的方法。這一步比較好理解,例如要用到陣列迭代就選中ArrayH下的forEach,需要格式化日期功能就選擇DateH下的format,依此類推。特別的,Browser(瀏覽器UA相關)、Selector、CustEvent(自定義事件)這三個模組目前是不能拆分的,只能按模組選擇,並不能細化到每個方法。
第二步,選擇Retouch配置。瞭解過QWrap設計的同學應該知道,QWrap是通過不同Retouch配置來決定是否汙染原型的。預設的Core Retouch,會執行以下操作:
mix(Object, QW.ObjectH);//給Object增加靜態方法
mix(QW.ArrayH, QW.HashsetH);//將HashsetH合併到ArrayH
mix(Array, QW.ArrayH);//給Array增加靜態方法
mix(Array.prototype, methodize(QW.ArrayH));//給Array增加原型方法
mix(QW.FunctionH, QW.ClassH);//將ClassH合併到FunctionH
mix(Function, QW.FunctionH);//給Function增加靜態方法
mix(Date, QW.DateH);//給Date增加靜態方法
mix(Date.prototype, methodize(QW.DateH));//給Date增加原型方法
mix(String, QW.StringH);//給String增加靜態方法
mix(String.prototype, methodize(QW.StringH));//給String增加原型方法
在這一步,如果選中了Core Retouch,最終程式碼會根據你選擇的模組,選擇性的把上面那些Retouch新增到最後。
第三步,提取方法。這一步也很簡單,點選按鈕就會根據第一步的選擇、第二步的配置生成方法list。這個list是給第四步抽取程式碼用的,也可以存起來以後再用。
第四步,獲取最終程式碼。這一步更簡單了,點一下按鈕就大功告成,自己體驗下吧~
到這裡,QWrap的無依賴化定製就完成了。通過簡單的四步,就能得到獨一無二的QWrap核心庫。
特別的,如果基於QWrap開發元件,且全部使用QWrap的靜態方法,那這個元件也可以方便的Solo了——把元件用到的所有靜態方法貼到第三步的文字框裡,獲取基於這個元件的定製化核心庫,搞定!
--EOF--
發表於 2011-09-28 11:50:04 ,並被新增「 QWrap 」標籤 。檢視本文 Markdown 版本 »
提醒:本文最後更新於 2661 天前,文中所描述的資訊可能已發生改變,請謹慎使用。
相關推薦
QWrap簡介之核心庫定製
提醒:本文最後更新於 2661 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 圍觀過QWrap的同學可能會注意到其官方的特性介紹裡有這麼一條: 提供YUI2一樣的靜態方法庫,同時又用所謂的Helper規範來做到真正的絕對靜態,讓元件開發者可以釋出出無依賴的元件。 其中,元件無依賴化,也就是
QWrap簡介之元件編寫
提醒:本文最後更新於 2746 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 QWrap是一個BSD協議下的開源JS框架,前身是百度有啊WED團隊內部使用的BBlib。關於她的設計理念、核心架構,JK和月影兩位同學的部落格上有很多文章。這裡我簡單介紹下實際專案中,如何用QWrap開發元件。 動
JSTL標籤詳細教程之——核心庫
JSTL(JSP Standard Tag Library,JSP標準標籤庫),目前最新版本是1.2,包括四個標籤庫(core、format、xml、sql),這一篇主要講解JSTL的核心庫即core標籤庫,核心庫標籤共有14個,從功能可以分為四大類:邏輯控制、表示式控制
Jstl之核心標簽庫與格式標簽庫使用
文字 設置 創建 each str2 有時 相對 ram 定向 JSTL(JSP Standard Tag Library。JSP標準標簽庫)是一個不斷完好的開放源碼的JSP標簽庫。是由apache的jakarta小組來維護的。JSTL僅僅能運行在支持J
JSTL標簽庫的基本教程之核心標簽庫(一)
賦值 作用 條件判斷 arch 標簽庫 輸出 兩個 兩種 前綴 JSTL介紹 Java Server Pages Standard Tag Libray(JSTL):JSP標準標簽庫,它封裝了JSP應用的通用核心功能。JSTL支持通用的、結構化的任務,比
大資料之storm(一) --- storm簡介,核心元件,工作流程,安裝和部署,電話通訊案例分析,叢集執行,單詞統計案例分析,調整併發度
一、storm簡介 --------------------------------------------------------- 1.開源,分散式,實時計算 2.實時可靠的處理無限資料流,可以使用任何語言開發 3.適用於實時分析,線上機器學習
JSTL標籤庫之核心標籤
一、JSTL標籤庫介紹 JSTL標籤庫的使用是為彌補html標籤的不足,規範自定義標籤的使用而誕生的。使用JSLT標籤的目的就是不希望在jsp頁面中出現java邏輯程式碼 二、JSTL標籤庫的分類 核心標籤(用得最多)國際化標籤(I18N格式
網路程式設計之即時通訊程式(聊天室)------(一)通訊流程簡介及通訊協議定製
在開始講之前,我想先跟大家描述一下,這個所謂的通訊程式具體是一個什麼樣的東西。該通訊程式類似一個弱版本的qq,登入時需要進行註冊,登入成功後,可以實現即時的通訊,群聊,私聊,同時還可傳檔案。先上個圖 服務端:
Py之Scipy:Python庫之Scipy庫的簡介、安裝、使用方法詳細攻略
Scipy庫的簡介 Scipy高階科學計算庫:和Numpy聯絡很密切,Scipy一般都是操控Numpy陣列來進行科學計算,所以可以說是基於Numpy之上了。Scipy有很多子模組可以應對不同的應用,例如插值運算,優化演算法等等。 SciPy是世界上著名的Pyth
python學習之easygui 庫簡介
庫函式介紹: easygui 庫官方連結http://easygui.sourceforge.net/ 點選開啟連結 easygui庫下載連結:http://download.csdn.net/detail/wuce_bai/9456715點選開啟連結 安裝教程: 1.下載
輸入法之核心詞典構建
一定的 構建 article 復雜 mil 選擇 font mod rac 拼音輸入法輸出的候選分成兩個部分,系統詞以及短句(智能組詞),智能組詞是通過model以及解碼弄出來的,興許再說。 系統詞就是那些經常使用的詞(詞組)收錄到詞典中,用戶的輸入和詞典中的詞m
python爬蟲從入門到放棄(六)之 BeautifulSoup庫的使用
src 表達 支持 正則表達 必須 這樣的 com 子節點 prettify 上一篇文章的正則,其實對很多人來說用起來是不方便的,加上需要記很多規則,所以用起來不是特別熟練,而這節我們提到的beautifulsoup就是一個非常強大的工具,爬蟲利器。 beautifulS
python爬蟲從入門到放棄(八)之 Selenium庫的使用
自動 .com 程序 png 都是 例子 等待 點擊 哪些 一、什麽是Selenium selenium 是一套完整的web應用程序測試系統,包含了測試的錄制(selenium IDE),編寫及運行(Selenium Remote Control)和測試的並行處理(Sele
C++ 之 Asio 庫
接收 dal 事件 using target pro std code fine 1 簡介 Asio 是一個跨平臺的 C++ 庫,常用於網絡編程、底層的 I/O 編程等 (low-level I/O),其結構框架如下: 2 使用 Asio 2.1
Docker 學習筆記之 核心概念
api rest api 核心概念 log 筆記 try nbsp .com ont Docker核心概念: Docker Daemon Docker Container Docker Registry Docker Client 通過rest API 和Docker
Python爬蟲入門三之Urllib庫的基本使用
res 瀏覽器中 必須 答案 文件的 網頁 one .com 屏幕截圖 1.分分鐘扒一個網頁下來 怎樣扒網頁呢?其實就是根據URL來獲取它的網頁信息,雖然我們在瀏覽器中看到的是一幅幅優美的畫面,但是其實是由瀏覽器解釋才呈現出來的,實質它是一段HTML代碼,加 JS、CSS
Python 基礎 - Day 5 Learning Note - 模塊 之 標準庫:datetime (2)
基礎 格式 時間 日期和時間 bin att class ext one 介紹 Datetime 模塊是time模塊的再次封裝,提供了更多的接口。主要是日期和時間的解析,格式化及運算。 其他關於時間的模塊: time - basic calendar - basic
第一篇:Spark SQL源碼分析之核心流程
example 協議 bst copyto name 分詞 oop 不同 spl /** Spark SQL源碼分析系列文章*/ 自從去年Spark Submit 2013 Michael Armbrust分享了他的Catalyst,到至今1年多了,Spark SQ
機器學習之numpy庫中常用的函數介紹(一)
做的 string idt 維度 數據 round float 數值 array 1. mat() mat()與array的區別: mat是矩陣,數據必須是2維的,是array的子集,包含array的所有特性,所做的運算都是針對矩陣來進行的。 array是數組,數據可以是多
Win32多線程之核心對象
清理 roc dll 擁有 nal cti 多個進程 mutex 依賴 CreateThread()傳回兩個值,用以識別一個新的線程。第一個值是個Handle, 這也是CreateThread()的返回值,大部分與線程有關的API函數都需要它。第二個值是由lpThre