微信小程序開發技巧(持續更新)
框架部分
-
所有頁面都需要在 app.json 文件中注冊在 pages 數組中,注冊格式為: "路徑/文件名"
注:文件名無需添加擴展名
-
app.josn 中的 pages 數組中的第一個頁面為小程序的啟動頁
-
每個頁面的 js 、 json 、 wxml 、 wxss 可與所在目錄名不同,但必須具有相同的路徑和文件名
-
頁面目錄可以嵌套,按照頁面目錄在 app.json 中注冊即可
-
可通過直接賦值的方法修改 app.js 中的全局變量,但修改頁面變量需要使用 Page.prototype.setData() 方法,且賦值數據不能超過 1024 kB
-
在文件中引入模塊時, require 使用相對路徑引入(絕對路徑會報錯)
-
如需引入多級文件,則使用如下方式:
// func.js 文件中定義了兩個函數 fun1 和 fun2
fun1 = function(){
// code
}
fun2 = function(){
// code
}
module.export = {
fun1: fun1,
fun2: fun2
}
// util.js 中定義了函數 util 并需要導入 func.js 文件
var funcs = require('func.js文件的相對路徑')
util = function(){
// code
}
module.export = {
fun1: funcs.fun1,
fun2: funcs.fun2,
util: util
}</code></pre>
-
小程序的 wxss 中使用 @import 導入文件時應使用相對路徑
-
小程序中 wxss 樣式的優先級為 內聯樣式 > 外鏈樣式 > 全局樣式
-
小程序的 wxss 樣式文件中支持 CSS3 的大部分屬性,但選擇器支持有限,請戳 官方文檔
組件部分
-
<block> 僅為包裝元素,接受屬性控制且 不能嵌套 不會被渲染
-
<text> 組件內只能嵌套使用 <text> 組件,其他不可用
-
僅 <text> 組件中的內容支持長按選中
-
<picker> 組件中的 range 數組下標必須連續且從 0 開始,否則會出現選項為 null 的情況
-
組件名稱均為小寫,所有大寫的組件名稱都會在渲染時轉換為小寫
-
任何自定義的組件 <自定義名稱> 均會被當作 <view> 組件來渲染,但需要注意 組件名稱中不能出現數字 。(雖然可以自定義語義化組件,但是由于微信官方并未加以說明,所以不推薦使用)
-
使用 page 標簽選擇器可以修改頂層節點的樣式,相當于 HTML 中的 <body> 元素
API 部分
-
程序中請求、上傳、下載及 websocket 的請求地址必須為 https 地址,且在當前 APPID 的微信公眾平臺上注冊合法域名
-
wx.request() 中發送 POST 請求時,需設置 header 如下: {'content-type': 'application/x-www-form-urlencoded'}
-
某些情況下需要使用全局數據通常有兩種方法:設置全局變量和寫入緩存,區別在于全局變量的生存周期和小程序相同,而緩存則是永久儲存的
-
wx.login() 只返回登陸 code ,可向微信服務器發送此 code 獲取用戶的 session_key 和 openid ,微信官方提供了登陸狀態檢驗的接口和一套驗證機制,請戳 官方文檔
-
小程序的本地緩存不能超過 10M
-
小程序的上傳和下載中只能獲取文件的 key ,開發者在服務器端通過 key 獲取文件二進制內容。
工具部分
-
修改 wxml 和 wxss 文件將會刷新頁面
-
修改 js 和 json 文件將會重新編譯小程序
-
在 app.json 文件 pages 數組中添加目標頁面,將會自動生成該頁面目錄和所需文件
-
項目- 基礎信息中設置勾選開發環境不校驗請求安全域名以及 TLS 版本時,將可以使用 http 協議的請求地址,有助于本地調試
-
可以在項目 - 配置信息中快捷查看當前 appid 配置的安全域名
-
手機調試過程中可以點按右上角,選擇 enable debug 打開手機調試模式
-
項目 - 預覽中可添加預覽頁面及參數信息,跳過繁瑣的前戲直達你想要操作的位置
-
快捷鍵
格式調整
Ctrl+S:保存文件
Ctrl+[, Ctrl+]:代碼行縮進
Ctrl+Shift+[, Ctrl+Shift+]:折疊打開代碼塊
Ctrl+C Ctrl+V:復制粘貼,如果沒有選中任何文字則復制粘貼一行
Shift+Alt+F:代碼格式化
Alt+Up,Alt+Down:上下移動一行
Shift+Alt+Up,Shift+Alt+Down:向上向下復制一行
Ctrl+Shift+Enter:在當前行上方插入一行
Ctrl+Shift+F:全局搜索</code></pre> <p>光標相關</p> <pre>
Ctrl+End:移動到文件結尾
Ctrl+Home:移動到文件開頭
Ctrl+i:選中當前行
Shift+End:選擇從光標到行尾
Shift+Home:選擇從行首到光標處
Ctrl+Shift+L:選中所有匹配
Ctrl+D:選中匹配
Ctrl+U:光標回退</code></pre> <p>界面相關</p> <pre>
Ctrl + \:隱藏側邊欄
Ctrl + m: 打開或者隱藏模擬器</code></pre> </li>
</ol>
概念部分
-
小程序基于包開發,開發和發布流程與 H5 應用是截然不同的
-
小程序中 Web 開發的 session 管理部分由微信服務器實現
-
小程序的域名僅用于通訊和驗證,沒有 Cookie 機制