微信小程序目錄
微信小程序的目錄,每種文件都有特定用途,組合起來才能構建完整應用。
小程序最基本的目錄結構通常包含這些部分:
my-miniprogram/
├── pages/ // 存放所有頁面
│ ├── index/ // 存放index頁面的邏輯文件
│ └── logs/ // 存放logs頁面的邏輯文件
├── utils/ // 存放公用工具
├── app.js // 控制整個小程序
├── app.json // 全局配置
└── app.wxss // 全局樣式
核心文件與簡單案例
app.js文件
app.js
是項目的全局邏輯配置文件,用于定義小程序的生命周期函數、全局狀態管理以及基礎配置。它與app.json
和頁面級別的page.js
文件共同構成了小程序的運行框架。
全局生命周期函數
app.js
中提供的全局生命周期函數,包括:
onLaunch
:小程序初始化時觸發,僅執行一次。onShow
:當小程序啟動或從后臺進入前臺時觸發。onHide
:當小程序從前臺進入后臺時觸發。onError
:當小程序發生腳本錯誤或API調用失敗時觸發。
示例代碼:
App({onLaunch() {// 初始化全局變量或調用登錄接口console.log('小程序初始化');},onShow() {console.log('小程序顯示');},onHide() {console.log('小程序隱藏');},onError(err) {console.error('發生錯誤:', err);}
});
此示例展示了app.js
的基本結構,其中App()
函數是程序入口點,用于注冊小程序并提供全局配置和生命周期處理。
app.js
還可以定義全局變量和工具函數,供各個頁面組件訪問和調用。通過將常用的數據或方法掛載到 globalData
或自定義屬性上,可以實現跨頁面的數據共享和功能復用。
示例代碼:
App({globalData: {userInfo: null,apiUrl: 'https://api.example.com'},fetchUserInfo() {// 模擬獲取用戶信息this.globalData.userInfo = { name: '張三', id: 123 };}
});
此示例,在頁面中可以通過const app = getApp();
獲取全局實例,并訪問app.globalData.userInfo
或調用 app.fetchUserInfo()
方法。
app.json文件
app.json
是全局配置文件,用于定義小程序的頁面路徑、窗口樣式、導航欄設置等核心屬性。其中,pages
和 window