小程序的框架

學習一個東西,我們從它的主體框架入手是最好的,瞭解它的每一部分都是幹什麼的,後面的工作才更容易展開,也能少踩很多坑。

1.目錄文件

新建一個微信小程序,它的目錄文件如下:
在這裏插入圖片描述

根目錄下的文件有:

pages
utils
app.js
app.json
app.wxss
project.config.json
sitemap.json

來看看它的每一個文件的作用都是什麼吧

1.1 app.json:全局配置

如你所見,它是一個json文件,內含5個key-value鍵值對屬性.
在這裏插入圖片描述
page屬性:它對應的value值是一個列表,表的成員是String類型的,包含着整個小程序所有的頁面。
windows屬性:用於設置小程序的狀態欄、導航條、標題、窗口背景色。**
tabBar屬性:如果小程序是一個多 tab 應用(客戶端窗口的底部或頂部有 tab 欄可以切換頁面),可以通過 tabBar 配置項指定 tab 欄的表現,以及 tab 切換時顯示的對應頁面。(底部tab欄最少2個,最多5個)。還有一個要注意的點,tabBar欄的圖片名稱必須爲純字母
works屬性:使用 Worker 處理多線程任務時,設置 Worker 代碼放置的目錄。
sitemapLocation屬性: 指明 sitemap.json 的位置(默認跟app.json同級)。

此外還有很多屬性,只要是涉及全局設置的,都是app.json的工作。詳見官方文檔:
https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

注:頁面的單獨配置的優先級是高於全局配置的

1.2 pages:頁面目錄

頁面目錄,我們編寫的任一頁面的前端代碼,都保存在該目錄下,自帶的index是主頁面,logs是登錄界面。

1.3 utils:公共代碼

utils目錄下只有一個文件utils.js。
在這裏插入圖片描述
它將一些公共的代碼抽離,形成單獨的模塊(有點像java spring的 AOP)保存在utils.js中,然後用mudule.exports來連接外部,外部使用require(path)(path爲utils.js的路徑)導入該模塊包,就可以使用裏面的函數。

1.4 sitemap.json:允許微信索引

這個目前我還是不太清楚有什麼用

1.5 app.js: 項目的入口文件

在這裏插入圖片描述
可以看到,它由一個App()函數組成,接受一個Object參數,並沒有函數體.參數由多個函數組成,一般調用形式如下:

App({
	函數名1:function(){
		//函數1的函數體
	},
	函數名2:function(){
		//函數2的函數體
	}
	//還可以設置全局函數
})

這其中有幾個重要的函數要特別介紹一下

onLaunch:function(){} //生命週期回調——監聽小程序初始化
onShow:function(){}  //當該頁面從後臺進入前臺時執行的函數
onHide:function(){}  //當該頁面從前臺進入後臺時執行的函數

1.6 app.wxss:全局樣式

一個全局的css樣式文件
在這裏插入圖片描述

1.7 project.config.json:項目配置文件

具體可見博客:https://www.cnblogs.com/lizm166/p/9547816.html

1.8 獲取小程序的實例:getApp()

在小程序下的任一頁面的js文件,都可以使用該函數獲取小程序的唯一實例進行操作。值得注意的是,必須在App()執行後(創建實例)再執行該函數,才能成功獲取到小程序實例,但存在一個問題就是:小程序是默認異步執行的,有可能App()還沒執行完,含有getApp()的頁面已經啓動,從而獲取不到實例。(解決方法百度)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章