本文介紹開發(fā)微信小程序項目中的體系結構和組成部分。
1.0 微信小程序框架體系
微信小程序框架體系由兩部分組成视译,分別是視圖層和邏輯層。
視圖層由WXML
和WXSS
組成归敬,類似于前端開發(fā)中的HTML(標簽)和CSS(樣式)酷含。
邏輯層是一套運行在本地JavaScript引擎中的JavaScript代碼,負責調(diào)用數(shù)據(jù)處理方法來驅(qū)動視圖更新汪茧。
微信小程序的整體開發(fā)流程非常接近前端HTML + CSS + JavaScript
的模式,需要注意的是在小程序開發(fā)中沒有DOM的概念的椅亚,本地也沒有document和window等對象,更不能使用jQuery等類似的框架舱污。
微信小程序中視圖層和邏輯層的交互主要通過數(shù)據(jù)綁定和事件響應來實現(xiàn)呀舔,采用了單向綁定的機制。
微信小程序的單向綁定機制
單向綁定機制需要先將邏輯層和視圖層的數(shù)據(jù)與事件進行綁定扩灯,當頁面需要修改的時候媚赖,邏輯層只需要調(diào)用特定的setData方法
修改已經(jīng)綁定的數(shù)據(jù)即可,這時候框架會自動觸發(fā)WXML來重新渲染整個視圖珠插,當框架接收到用戶的交互操作時會根據(jù)視圖層綁定的事件執(zhí)行邏輯層中對應的事件函數(shù)以進行響應惧磺。
2.0 微信小程序的結構
微信小程序的開發(fā)工具下載并安裝之后,我們可以來開始創(chuàng)建一個新的項目捻撑,如果沒有appID那么可以選擇使用測試賬號磨隘。
項目初始化完成后,我們能夠看到下面的界面顾患。
整個開發(fā)界面大概可以分成工具選項區(qū)番捂、模擬器顯示區(qū)、調(diào)試區(qū)江解、代碼目錄和工作區(qū)设预,其中工作區(qū)、模擬器顯示區(qū)和調(diào)試區(qū)均可以選擇在關閉在打開中進行切換犁河,這里我們主要關注項目初始化后的代碼目錄絮缅。
打印項目文件的目錄結構(使用命令行操作鲁沥,具體請參考網(wǎng)絡編程系列 Mac系統(tǒng)中Tree的使用)如下。
.
├── app.js
├── app.json
├── app.wxss
├── pages
│ ├── index
│ │ ├── index.js
│ │ ├── index.wxml
│ │ └── index.wxss
│ └── logs
│ ├── logs.js
│ ├── logs.json
│ ├── logs.wxml
│ └── logs.wxss
├── project.config.json
└── utils
└── util.js
在一個完成的小程序項目中耕魄,所有的文件可以劃分為小程序框架主體文件
和頁面文件
兩類画恰。
① 小程序框架主體文件是系統(tǒng)級文件,每個項目中只有一份吸奴,他們分別是:
app.js文件 控制小程序整體邏輯允扇,主要用于注冊小程序全局實例。
app.json文件 控制小程序整體配置则奥,配置小程序整體設置考润。
app.wxss文件 控制小程序整體樣式,對所有頁面的布局文件都有效读处。
project.config.json文件 整個項目的配置信息
② 頁面文件 通常由四個文件組成糊治,分別是.wxml(結構).wxss(樣式).js(邏輯)和.json(配置)
》2眨框架規(guī)定井辜,同一個頁面的這四個文件必須具有相同的路徑和文件名,在編譯的時候它們將自動關聯(lián)管闷。在初始化后的項目中粥脚,pages文件夾下面擁有兩個默認的頁面,分別是index頁面和logs頁面包个。