|
導讀微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一... 微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創(chuàng)新,經(jīng)過將近兩年的發(fā)展,已經(jīng)構造了新的小程序開發(fā)環(huán)境和開發(fā)者生態(tài)。 最近,“微信小程序”這個詞占據(jù)了朋友圈,大有一番風起云涌之勢,當然,還不可能夸張到使原生App開發(fā)人員失業(yè)這種程度。當然,作為一名技術人員,時刻保持對新技術的好奇心是必須的,所以在網(wǎng)上找大神的教程,搭建了一下開發(fā)環(huán)境,來學習一下這個新的開發(fā)框架。 一 項目文件結構 當打開微信小程序的Demo的時候,我個人習慣是先看整個項目的文件結構,先大致弄清這部分是干什么的,那部分又是干什么的,微信小程序基本的文件結構如下圖:
圖1-微信小程序基本文件結構 首先我們一眼就可以看到,在項目根目錄有三個文件,app.js,app.json,以及app.wxss,下面來談談我對這三個文件的理解。 1 . app.jsapp.js中包含一個App()函數(shù),我把它理解為微信小程序真正意義上的入口,也就是說當啟動一個小程序的時候,首先會執(zhí)行到這里。App()函數(shù)用來注冊一個小程序,參數(shù)為Object類型,可以在其中指定小程序的生命周期函數(shù)(理解還不是很透徹), 當然,也可以定義一個全局的數(shù)據(jù)和函數(shù), 我們可以在頁面中調用全局的getApp()方法,獲得小程序實例,從而來調用我們定義的全局數(shù)據(jù)和函數(shù)。 2 . app.jsonapp.json可以對小程序進行全局的配置,比如我們可以配置小程序有哪些頁面、窗口表現(xiàn)形式、設置網(wǎng)絡超時時間、設置多tab等。下面就是一個簡單的配置: {
"pages": [
"page/index/index",
"page/logs/index"
],
"window": {
"navigationBarTitleText": "Demo"
},
"tabBar": {
"list": [{
"pagePath": "page/index/index",
"text": "首頁"
},{
"pagePath": "page/logs/logs",
"text": "日志"
}]
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
"debug": true
}3 .app.wxssapp.wxss文件比較好理解了,它相當于一個全局的樣式表,等同于前端中的css文件,任何頁面都可以使用這個樣式表,當然,如果某個頁面重復定義了某個屬性的表現(xiàn)形式的話,則會覆蓋app.wxss文件中定義的。 以上三個文件中,app.js和app.json是每個微信小程序必須要有的,app.wxss則根據(jù)需要來添加。 在圖一的文件結構中,還有三個文件夾目錄:images,pages,utils,這種形式就類似我們開發(fā)中分包的做法(其實就是)-將具有類型性質的文件或者類分目錄存放,這樣便于維護項目。 我們來關注下pages目錄,這個目錄存放了小程序的所有頁面。
圖2-小程序的頁面結構 這里我們定義了兩個頁面,index(首頁)和logs(顯示某種日志)。 可以看到,在每個頁面中,也有類似前邊兒我們所說的app.js,app.json等文件,下面我們就來看看它們具體是什么。 以logs頁面為例: 1 .logs.js我們看一下這個文件中簡單的代碼: //logs.js
var util = require('../../utils/util.js')
Page({
data: {
logs: []
},
onLoad: function () {
this.setData({
logs: (wx.getStorageSync('logs') || []).map(function (log) {
return util.formatTime(new Date(log))
})
})
}
})如果你有過開發(fā)經(jīng)驗或者是js開發(fā)經(jīng)驗,那么一樣就可以看出,這個類的結構很簡單:1.引入了一個外部文件,2.有一個函數(shù),進行了某種處理。 我們看一下官方文檔是怎么介紹這個以js結尾的文件的:包含一個Page()函數(shù),Page()函數(shù)用來注冊一個頁面。接受一個object參數(shù),其指定頁面的初始數(shù)據(jù)、生命周期函數(shù)、事件處理函數(shù)等。它是頁面的邏輯文件,頁面邏輯在這里處理。 在這個文件中,我們可以定義變量,函數(shù)等。 2 .logs.jsonapp.json是小程序的全部配置文件,那么不難理解,logs.json則是logs頁面的配置文件,在這里我們可以配置頁面標題等屬性。 3 .logs.wxmlwxml文件是頁面獨有的,它相當于界面,它是與用戶交互的入口,微信提供了很多基礎組件,例如按鈕,文本以及進度條等,都可以在這個文件中配置并顯示出具體的效果。 4 .logs.wxsswxss跟app.wxss文件一樣,都是樣式表文件,不過每個頁面下的這個文件時對于某個頁面的,而app.wxss則是全局的樣式配置,相同屬性的話,logs.wxss會覆蓋掉app.wxss中的。 對于頁面下的文件配置,我們來看一下官方的說明:
圖3-頁面文件配置 結語以上就是微信小程序的整體項目文件結構,由宏觀到具體,弄清整體框架后,再一步一步學習其中的細節(jié),可能會更加輕松。 以上就是初探“微信小小程序”的詳細內容,更多請關注php中文網(wǎng)其它相關文章! 小程序是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。 |
溫馨提示:喜歡本站的話,請收藏一下本站!