微信小程序文件

??在創(chuàng)建了一個(gè)微信小程序項(xiàng)目后,我們可以看到項(xiàng)目里邊就自動(dòng)生成了不同類型的文件:JSON配置文件 .json、WXML目標(biāo)文件 .wxml、WXSS樣式文件 .wxss、JS腳本邏輯文件 .js,下面我們就看看這4種文件的作用。

一、 JSON配置文件: .json

1. 小程序配置 app.json

??在根目錄下,有一個(gè)app.json,是當(dāng)前小程序的全局配置,包括了小程序的所有頁面路徑、頁面表現(xiàn)、網(wǎng)絡(luò)超時(shí)時(shí)間、底部tab等。
?? 以下是一個(gè)包含了部分常用配置選項(xiàng)的 app.json :

{
  "pages": [
    "pages/index/index",
    "pages/logs/index"
  ],
  "window": {
    "navigationBarTitleText": "Demo",
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTextStyle":"black"
  },
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首頁"
      },
      {
        "pagePath": "pages/logs/logs",
        "text": "日志"
      }
    ]
  },
  "networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true,
  "navigateToMiniProgramAppIdList": ["wxe5f52902cf4de896"]
}

pages:
??用于指定小程序由哪些頁面組成,當(dāng)你想要新建一個(gè)頁面時(shí),只需在這個(gè)配置中添加好對(duì)應(yīng)頁面的 路徑+文件名,文件名不需要寫文件后綴,框架會(huì)自動(dòng)生成對(duì)應(yīng)位置的 .json、 .js、 .wxml、 .wxss 四個(gè)文件。
??在pages數(shù)組中,第一項(xiàng)代表小程序的初始頁面。小程序中新增/減少頁面,都需要對(duì) pages 數(shù)組進(jìn)行修改。

window:
??用于設(shè)置小程序全局的狀態(tài)欄、導(dǎo)航條、標(biāo)題、窗口背景色。如果想要具體的某個(gè)頁面設(shè)置不同的樣式,每一個(gè)小程序頁面也可以使用.json文件來對(duì)本頁面的窗口表現(xiàn)進(jìn)行配置。頁面的配置只能設(shè)置 app.json 中部分 window 配置項(xiàng)的內(nèi)容,頁面中配置項(xiàng)會(huì)覆蓋 app.json 的 window 中相同的配置項(xiàng)。

添加pages、全局窗口配置:

頁面窗口配置:

tabBar:
??用于配置客戶端窗口底部或頂部tab欄。其中 list 接受一個(gè)數(shù)組,只能配置2-5個(gè) tab。tab 按list數(shù)組的順序排序,每個(gè)項(xiàng)都是一個(gè)對(duì)象。
示例:其中pagePath為鏈接的頁面路徑,必須在 pages 中先定義

networkTimeout:
??各類網(wǎng)絡(luò)請(qǐng)求的超時(shí)時(shí)間,單位為毫秒

debug:
?? debug 模式默認(rèn)是關(guān)閉的,當(dāng)啟動(dòng)開發(fā)者模式時(shí),我們?cè)陂_發(fā)者工具的控制臺(tái)面板,調(diào)試信息以 info 的形式給出,包含Page的注冊(cè),頁面路由,數(shù)據(jù)更新,事件觸發(fā)等,可以幫助我們快速定位一些開發(fā)中的問題。

navigateToMiniProgramAppIdList:
?? 當(dāng)小程序需要使用 wx.navigateToMiniProgram 接口跳轉(zhuǎn)到其他小程序時(shí),需要先在配置文件中聲明需要跳轉(zhuǎn)的小程序 appId 列表,最多允許填寫 10 個(gè)。

app.json 配置項(xiàng)列表:

屬性 類型 必填 描述 最低版本
pages String Array 頁面路徑列表
window Object 全局的默認(rèn)窗口表現(xiàn)
tabBar Object 底部 tab 欄的表現(xiàn)
networkTimeout Object 網(wǎng)絡(luò)超時(shí)時(shí)間
debug Boolean 是否開啟 debug 模式,默認(rèn)關(guān)閉
functionalPages Boolean 是否啟用插件功能頁,默認(rèn)關(guān)閉 2.1.0
subpackages Object Array 分包結(jié)構(gòu)配置 1.7.3
workers String Worker代碼放置的目錄 1.9.90
requiredBackgroundModes String Array 需要在后臺(tái)使用的能力,如「音樂播放」
plugins Object 使用到的插件 1.9.6
preloadRule Object 分包預(yù)下載規(guī)則 2.3.0
resizable Boolean iPad 小程序是否支持屏幕旋轉(zhuǎn),默認(rèn)關(guān)閉 2.3.0
navigateToMiniProgramAppIdList String Array 需要跳轉(zhuǎn)的小程序列表,詳見 wx.navigateToMiniProgram 2.4.0
usingComponents Object 全局自定義組件配置 開發(fā)者工具 1.02.1810190
permission Object 小程序接口權(quán)限相關(guān)設(shè)置 微信客戶端 7.0.0

2.工具配置 project.config.json:
?? 俗語說好的,蘿卜白菜各有所愛。我們每個(gè)人在使用一個(gè)開發(fā)工具的時(shí)候,都會(huì)按照個(gè)人的喜好做一些個(gè)性化配置,例如界面顏色、編譯配置等等。但是,一般這個(gè)個(gè)性化的設(shè)置只能在我們自己的電腦上生效,當(dāng)另外一臺(tái)電腦重新安裝工具的時(shí)候,還需要重新配置。小程序開發(fā)者工具在每個(gè)項(xiàng)目的根目錄都會(huì)生成一個(gè) project.config.json,你在工具上做的任何配置都會(huì)寫入到這個(gè)文件,當(dāng)你重新安裝工具或者換電腦工作時(shí),你只要載入同一個(gè)項(xiàng)目的代碼包,開發(fā)者工具就自動(dòng)會(huì)幫你恢復(fù)到當(dāng)時(shí)你開發(fā)項(xiàng)目時(shí)的個(gè)性化配置,很強(qiáng)?。?!

二、WXML目標(biāo)文件: .wxml

?? WXML與HTML 非常相似,用來描述當(dāng)前這個(gè)頁面的結(jié)構(gòu), 由標(biāo)簽、屬性等等構(gòu)成,但也只是相似,并非完全一致,區(qū)別:
1. 標(biāo)簽名不一樣:
??HTML 為超文本標(biāo)記語言,我們?cè)趯?shí)現(xiàn)某個(gè)頁面功能時(shí),用到如 div, p, a等這些基礎(chǔ)標(biāo)簽組合出不一樣的組件。而小程序的 WXML 用的標(biāo)簽是 view, button, text 等等,并且這些標(biāo)簽是包裝好的功能組件,例如提供了地圖、視頻、音頻等等組件。
2. 多了一些屬性以及表達(dá)式:
??在網(wǎng)頁的一般開發(fā)流程中,我們通常會(huì)通過 JS 操作 DOM,然而現(xiàn)在都提倡 MVVM 的開發(fā)模式,將渲染和邏輯分離,小程序也是這樣實(shí)現(xiàn)的,比如通過 {{ }} 語法進(jìn)行數(shù)據(jù)綁定等,詳細(xì)的官方文檔: WXML

三、WXSS樣式文件: .wxss

??WXSS也就是我們經(jīng)常寫的CSS 樣式,不過小程序在 WXSS 做了一些擴(kuò)充和修改:
1.新增了尺寸單位:
??在做小程序開發(fā)時(shí),我們需要考慮不同的手機(jī)設(shè)備屏幕會(huì)有不同的寬度和設(shè)備像素比,但是小程序可人性化設(shè)計(jì)了,為了避免我們的換算的煩惱WXSS 在底層支持新的尺寸單位 rpx ,小程序底層自動(dòng)換算,像px一樣,rpx一個(gè)尺寸單位而已。
2.提供了全局的樣式和局部樣式:
??與上面的app.json, page.json 的概念相同,我們可以寫一個(gè) app.wxss 作為全局樣式,會(huì)作用于當(dāng)前小程序的所有頁面,局部頁面樣式 page.wxss 僅對(duì)當(dāng)前頁面生效。
3.WXSS 僅支持部分 CSS 選擇器:
詳細(xì)的官方文檔 : WXSS

四、JS腳本邏輯文件:.js

??雖然小程序中不用js操作DOM,但還是要用JS交互邏輯來響應(yīng)用戶的操作。在JS中,不僅可以寫響應(yīng)用戶的事件,還可以調(diào)用小程序提供的豐富的 API,利用這些 API 可以很方便的調(diào)起微信提供的能力,例如獲取用戶信息、本地存儲(chǔ)、微信支付等。
詳細(xì)的官方文檔 WXML - 事件 。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容