做自(zì)由與創造的先行者

JSON 配置

小(xiǎo)程序開(kāi)發手冊

JSON 是一種數據格式,并不是編程語言,在小(xiǎo)程序中,JSON扮演的靜态配置的角色。

我們可以看(kàn)到(dào)在項目的根目錄有一個 app.json 和(hé) project.config.json,此外(wài)在 pages/logs 目錄下(xià)還有一個 logs.json,我們依次來(lái)說明(míng)一下(xià)它們的用(yòng)途。

小(xiǎo)程序配置 app.json

app.json 是當前小(xiǎo)程序的全局配置,包括了(le)小(xiǎo)程序的所有頁面路徑、界面表現(xiàn)、網絡超時(shí)時(shí)間、底部 tab 等。QuickStart 項目裏邊的 app.json 配置内容如下(xià):

{

"pages":[

"pages/index/index",

"pages/logs/logs"

],

"window":{

"backgroundTextStyle":"light",

"navigationBarBackgroundColor": "#fff",

"navigationBarTitleText": "Weixin",

"navigationBarTextStyle":"black"

}

}

我們簡單說一下(xià)這(zhè)個配置各個項的含義:

pages字段 —— 用(yòng)于描述當前小(xiǎo)程序所有頁面路徑,這(zhè)是爲了(le)讓微信客戶端知(zhī)道(dào)當前你(nǐ)的小(xiǎo)程序頁面定義在哪個目錄。

window字段 —— 定義小(xiǎo)程序所有頁面的頂部背景顔色,文(wén)字顔色定義等。

其他(tā)配置項細節可以參考文(wén)檔 小(xiǎo)程序的配置 app.json 。

工(gōng)具配置 project.config.json

通常大(dà)家在使用(yòng)一個工(gōng)具的時(shí)候,都會(huì)針對(duì)各自(zì)喜好(hǎo)做一些(xiē)個性化配置,例如界面顔色、編譯配置等等,當你(nǐ)換了(le)另外(wài)一台電腦(nǎo)重新安裝工(gōng)具的時(shí)候,你(nǐ)還要重新配置。

考慮到(dào)這(zhè)點,小(xiǎo)程序開(kāi)發者工(gōng)具在每個項目的根目錄都會(huì)生成一個 project.config.json,你(nǐ)在工(gōng)具上(shàng)做的任何配置都會(huì)寫入到(dào)這(zhè)個文(wén)件,當你(nǐ)重新安裝工(gōng)具或者換電腦(nǎo)工(gōng)作(zuò)時(shí),你(nǐ)隻要載入同一個項目的代碼包,開(kāi)發者工(gōng)具就自(zì)動會(huì)幫你(nǐ)恢複到(dào)當時(shí)你(nǐ)開(kāi)發項目時(shí)的個性化配置,其中會(huì)包括編輯器的顔色、代碼上(shàng)傳時(shí)自(zì)動壓縮等等一系列選項。

其他(tā)配置項細節可以參考文(wén)檔 開(kāi)發者工(gōng)具的配置 。

頁面配置 page.json

這(zhè)裏的 page.json 其實用(yòng)來(lái)表示 pages/logs 目錄下(xià)的 logs.json 這(zhè)類和(hé)小(xiǎo)程序頁面相關的配置。

如果你(nǐ)整個小(xiǎo)程序的風(fēng)格是藍色調,那麽你(nǐ)可以在 app.json 裏邊聲明(míng)頂部顔色是藍色即可。實際情況可能(néng)不是這(zhè)樣,可能(néng)你(nǐ)小(xiǎo)程序裏邊的每個頁面都有不一樣的色調來(lái)區(qū)分不同功能(néng)模塊,因此我們提供了(le) page.json,讓開(kāi)發者可以獨立定義每個頁面的一些(xiē)屬性,例如剛剛說的頂部顔色、是否允許下(xià)拉刷新等等。

其他(tā)配置項細節可以參考文(wén)檔 頁面配置 。

JSON 語法

這(zhè)裏說一下(xià)小(xiǎo)程序裏JSON配置的一些(xiē)注意事(shì)項。

JSON文(wén)件都是被包裹在一個大(dà)括号中 {},通過key-value的方式來(lái)表達數據。JSON的Key必須包裹在一個雙引号中,在實踐中,編寫 JSON 的時(shí)候,忘了(le)給 Key 值加雙引号或者是把雙引号寫成單引号是常見錯誤。

JSON的值隻能(néng)是以下(xià)幾種數據格式,其他(tā)任何格式都會(huì)觸發報(bào)錯,例如 JavaScript 中的 undefined。

數字,包含浮點數和(hé)整數

字符串,需要包裹在雙引号中

Bool值,true 或者 false

數組,需要包裹在方括号中 []

對(duì)象,需要包裹在大(dà)括号中 {}

Null

還需要注意的是 JSON 文(wén)件中無法使用(yòng)注釋,試圖添加注釋将會(huì)引發報(bào)錯。

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:WXML 模闆
上(shàng)一篇:小(xiǎo)程序代碼構成