1. 程式人生 > >微信小程序基本目錄結構學習

微信小程序基本目錄結構學習

DC 相對 模式 大小 require tab contain text func

今天我們就以firstdemo為例,介紹一下小程序的基本目錄結構。
當我們打開一個微信小程序項目後,點擊進入“編輯”菜單,我們可以看到有以下5個文件/文件夾):pages文件夾,utils文件夾,全局文件app.js文件,全局文件app.json文件,圖片編輯文件工具app.wxss文件。
<ignore_js_op>技術分享圖片
小程序目錄結構的整體結構如下:
<ignore_js_op>技術分享圖片
<ignore_js_op>技術分享圖片

我們詳細介紹下小程序目錄中每個文件和文件夾的功能,以及註意事項。
1.pages目錄介紹

pages:主要存放小程序的頁面文件,其中每個文件夾為一個頁面,每個頁面包含四個文件: 技術分享圖片
index.js .js是小程序的邏輯文件,也稱事件交互文件和腳本文件,用於處理界面的點擊事件等功能,像設置初始數據,定義事件,數據的交互,邏輯的運算,變量的聲明,數組,對象,函數,註釋的方式等,其語法與javascript相同。我們可以打開仔細查看index.js裏面的代碼。 首先,我們可以在data裏面,motto是顯示hello word,改變成hello微信小程序。如下圖所示: 技術分享圖片

其次,我們看一下bindViewTap: function()的功能,是點擊跳轉到日誌頁面。我們可以點擊頭像看一下演示效果,如下圖所示:
<ignore_js_op>技術分享圖片

最後,我們看一下onLoad函數,是設置頁面啟動時的動作。我們可以修改頁面啟動時顯示頁面,也可以新增函數,如下圖所示:
<ignore_js_op>技術分享圖片


常用的用.js函數如下所示:

  1. Page({
  2. data:{
  3. // text:"這是一個頁面"
  4. },
  5. onLoad:function(options){
  6. // 頁面初始化 options為頁面跳轉所帶來的參數
  7. console.log(‘App onLoad‘)
  8. },
  9. onReady:function(){
  10. // 頁面渲染完成
  11. console.log(‘App onReady‘)
  12. },
  13. onShow:function(){
  14. // 頁面顯示
  15. console.log(‘App onShow‘)
  16. },
  17. onHide:function(){
  18. // 頁面隱藏
  19. console.log(‘App onHide‘)
  20. },
  21. onUnload:function(){
  22. // 頁面關閉
  23. console.log(‘App onUnload‘)
  24. }
  25. })
復制代碼

index.json.json後綴的文件是配置文件,主要是json數據格式存放,用於設置程序的配置效果。我們可以在index目錄下創建.json為配置文件,如下所示:
<ignore_js_op>技術分享圖片
index.json該配置文件只能配置本級目錄下的頁面配置文件,並且只能對導航欄的相關文件進行配置修改,如用於修改導航欄顯示樣式,如導航的文字,背景顏色,文字顏色等。其語法跟json語法相同。我們舉例修改一下導航欄的背景顏色為紅色,如下圖所示:

<ignore_js_op>技術分享圖片 我們可以看到背景顏色變成的紅色。。(這顏色真是慘不忍睹啊!) index.wxml .wxml文件是界面文件,是頁面結構文件,用於構建頁面,在頁面上增加控件。全稱是weixin markup lanuage的縮寫,微信標記語言。跟其他一般標記語言一樣,標簽成對, 標簽名小寫。可以通過引用class來控制外觀,也可以通過綁定事件來進行邏輯的處理,通過渲染來完成我們需要的列表等。是連接用戶操作和後端邏輯的紐帶橋梁。我們在頁面的看到的元素,都可以在這裏編輯。例如,我們在頁面上放一個按鈕,如下圖所示: <ignore_js_op>技術分享圖片 在.wxml中如何對不需要的程序代碼進行註釋呢?如下:
  1. <!--index.wxml-->
  2. <view class="container">
  3. <view bindtap="bindViewTap" class="userinfo">
  4. <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
  5. <text class="userinfo-nickname">{{userInfo.nickName}}000</text>
  6. </view>
  7. <view class="usermotto">
  8. <text class="user-motto">{{motto}}</text>
  9. </view>
  10. <!--<button type="primary">按鈕</button>-->
  11. </view>
復制代碼 註意: 1. 在微信小程序裏面這些特定的標記叫做組件。

index.wxss .wxss是樣式表文件,類似於前端中的css,是為.wxml文件和page文件進行美化的文件,讓界面顯示的更加美觀。例如對文字的大小,顏色,圖片的寬高,設置個.wxml中個組件的位置,間距等。 註意: 1.小程序每個頁面必須有.wxml和.js文件,其他兩種類型的文件可以不需要 2.文件名稱必須與頁面的文件夾名稱相同,如index文件夾,文件只能是index.wxml、index.wxss、index.js和index.json.

1.2 utils 該文件件主要用於存放全局的一些.js文件,公共用到的一些事件處理代碼文件可以放到該文件夾下,用於全局調用。例如,公用的方法:對時間的處理等。
  1. module.exports = {
  2. formatTime: formatTime
  3. }
復制代碼 對於允許外部調用的方法,用module.exports進行聲明,才能在其他js文件中用一下代碼引入
  1. var util = require(‘../../utils/util.js‘)
復制代碼 然後就可以調用該方法。 舉例:我們直接定義一個utils函數,如下圖所示:
  1. function util(){
  2. console.log("模塊被調用了!!")
  3. }
  4. module.exports.util = util
復制代碼 然後在index.js文件中調用這個util函數,如下所示:
  1. var common = require(‘../../utils/util.js‘)
復制代碼 我們可以保存後,在後臺可以看到,我們定義的util內容被調用了,如下所示: <ignore_js_op>技術分享圖片 1.3 app.js、app.json、app.wxss app.js : 系統的方法處理全局文件,也就是說文件中規定的函數和數據,在整個小程序中,每一個框架頁面和文件都可以使用this獲取。每個小程序都會有一個app.js文件,有且只有一個,位於項目的根目錄!app.js的作用就是告訴小程序,註冊一個小程序實例使用app(object)的形式註冊,實現小程序在不同階段的需要實現的事件功能,如onLoad,onshow等,全局的on事件只有如下三個,要比頁面的on事件要少。主要處理程序的聲明周期的一些方法;例如:程序剛開始運行時事件處理等.app.js 裏面包含一個app() 方法,裏面提供對應事件定義,如下
  1. App({
  2. onLaunch: function () {
  3. console.log(‘App Launch‘)
  4. },
  5. onShow: function () {
  6. console.log(‘App Show‘)
  7. },
  8. onHide: function () {
  9. console.log(‘App Hide‘)
  10. }
  11. })
復制代碼 App() 函數用來註冊一個小程序。接受一個 object 參數,其指定小程序的生命周期函數等。 <ignore_js_op>技術分享圖片
app.json : 系統全局配置文件,是必須包含的。包含設置頁面路徑,設置底部,網絡,調試模式,設置導航頭的顏色,字體大小,下面有沒有tabbar等功能,具體頁面的配置在頁面的json文件中單獨修改,任何一個頁面都需要在app.json中註冊,如果不在json中添加,頁面是無法打開的。
  1. "pages":[
  2. "pages/index/index",
  3. "pages/logs/logs"
  4. ],
復制代碼 (框架中的json優先級高於全局的json優先級。)
app.wxss : 全局的界面美化代碼,並不是必須的。其優先級同樣沒有框架中的wxss的優先級高。 舉例:在index.wxss中有頭像的外邊距設置
  1. .usermotto {
  2. margin-top: 200px;
  3. }
復制代碼 在app.wxss中也定義一個全局的頭像外邊距設置400px,我們看看到底哪一個被執行了。
  1. .usermotto {
  2. margin-top: 400px;
  3. }
復制代碼 在執行重啟的過程中,我們可以看到全局的參數被index.wxss裏面的覆蓋了。 <ignore_js_op>技術分享圖片


微信小程序的圖片添加和處理
微信小程序中添加圖片是非常麻煩的,只能通過打開項目文件夾,把圖片放到目錄下即可。在代碼中引用圖片的相對路徑或者絕對路徑就可以了。目前小程序開發中僅支持png和jpg格式,其他格式的圖片無法打開。

微信小程序基本目錄結構學習