src
目錄及外層app.json
,gulpfile.js
,package.json
, 不使用npm時,非必須.
注意: 工程目錄下不能有中文文件名,會影響打包. 整個工程目錄也不能有中文的路徑, 保存代碼熱更新才會有效.
目錄說明:
目錄名 | 描述 | 是否必須 |
---|---|---|
/app.json | 插件及跨域的配置 | 否 |
/gulpfile.js | gulp編譯配置 | 否 |
/package.json | 工程依賴配置 | 否 |
/src/index.html | 應(yīng)用首頁入口文件 | 是 |
/src/index.js | 路由的初始化腳本及全局事件 | 是 |
/src/css/ | 應(yīng)用樣式及bui.css樣式 | 是 |
/src/font/ | bui.css用到的字體圖標 | 是 |
/src/images/ | 應(yīng)用圖片目錄 | 否 |
/src/js/ | 應(yīng)用腳本 | 是 |
/src/js/zepto.js | bui.js默認依賴于zepto.js 或 jquery | 是 |
/src/js/bui.js | BUI交互控件庫 | 是 |
/src/pages/ | 應(yīng)用的模塊 | 是 |
/src/pages/main/ | 默認路由初始化以后會先載入這個main模塊 | 是 |
/src/pages/main/main.html | main模塊的模板 | 是 |
/src/pages/main/main.js | main模塊的業(yè)務(wù)腳本 | 是 |
假設(shè)你的頁面在 pages/main/index.html
;
images/xxx.jpg
, pages/xxx/xxx.html
的寫法;/images/xxx.jpg
, /pages/xxx/xxx.html
; 打包后本地的路徑查找會從 file:///xxxx 來查找你的文件, 最終導(dǎo)致路徑錯誤.一個標準的結(jié)構(gòu)包含, .bui-page 子集分別是
header
,main
,footer
等標簽,main
標簽必須有, 因為頁面初始化的時候會自動撐開main的高度. 快速書寫ui-page
Tab
<div class="bui-page">
<header class="bui-bar">
<div class="bui-bar-left">
<!-- 左邊有圖標示例 -->
<div class="bui-btn"><i class="icon-back"></i></div>
</div>
<div class="bui-bar-main">BUI開發(fā)工程模板</div>
<div class="bui-bar-right">
<!-- 右邊有圖標示例 -->
<div class="bui-btn"><i class="icon-search"></i></div>
</div>
</header>
<main>
<!-- 中間內(nèi)容 -->
</main>
<footer>
<!-- 底部內(nèi)容 -->
</footer>
</div>
注意:
bui-box, bui-fluid, bui-btn, span1 - span12, icon-
, 是全局定義的關(guān)鍵字,不要使用上面的名稱開頭,可能導(dǎo)致你的樣式多了很多東西
上下結(jié)構(gòu) 示例 : 滑動控件
快速書寫: ui-slide
<kbd>Tab</kbd>
<div class="bui-slide">
<div class="bui-slide-head">
</div>
<div class="bui-slide-main">
</div>
</div>
上中下結(jié)構(gòu) 示例 : 滾動加載控件
快速書寫: ui-scroll
<kbd>Tab</kbd>
<div class="bui-scroll">
<div class="bui-scroll-head"></div>
<div class="bui-scroll-main"></div>
<div class="bui-scroll-foot"></div>
</div>
左中右結(jié)構(gòu) 示例 : bar
快速書寫: ui-bar
Tab
<div class="bui-bar">
<div class="bui-bar-left">
</div>
<div class="bui-bar-main"></div>
<div class="bui-bar-right">
</div>
</div>
控件的重復(fù)子元素使用 -cell 示例 : 步驟條
快速書寫: ui-rating
Tab
<div class="bui-rating">
<div class="bui-rating-cell"></div>
</div>
控件名父層在控件名后面加上 -wrap 示例 : 側(cè)邊欄
快速書寫: ui-sidebar
Tab
<div class="bui-sidebar-wrap">
<div id="sidebar" class="bui-sidebar">
側(cè)滑菜單
</div>
<div class="bui-page">
頁面正文
</div>
</div>
loader.define
的匿名模塊;loader.define
里面,防止加載其它模塊的時候沖突;loader.define
里面 又 require
加載當前模塊, 這個時候還沒實例化,就會造成死循環(huán);事件分為全局事件,及控件事件,
頁面初始化加載事件
UI控件初始化可以在下面執(zhí)行:
// dom及bui控件初始化完畢
bui.on("pageinit",function(){
// dom ready , bui ready
})
多頁開發(fā)控件及原生方法都必須在
bui.ready
里面
// dom及bui及原生方法都初始化完畢
bui.ready(function(){
// dom ready , bui ready, native ready
})
在PC的加載順序是
pagebefore -& pageinit -& pageready -& onload
, 在手機的加載順序是pagebefore -& pageinit -& onload -& pageready
所以為了方法及dom能正確初始化, 我們的事件監(jiān)聽一般在bui.ready
.
已安裝BUI Fast 插件的SublimeText用戶, 輸入
bui- + 控件名 + -on
,按<kbd&Tab</kbd&鍵可以生成以下結(jié)構(gòu).
BUI Fast 書寫示例: bui-accordion-on
// 監(jiān)聽事件
uiAccordion.on("show",function(){
// 顯示的時候做什么事情
})
控件的更多事件,請查看API文檔
注意: 控件的事件監(jiān)聽要在控件初始化之后.
更多建議: