小程式開發的詳細配置介紹
全局配置
小程式根目錄下的 app.json 檔案用來對微信小程式進行全局配置,決定頁面檔案的路徑、視窗表現、設定網絡逾時時間、設定多 tab 等。
完整配置項說明請參考小程式全局配置
以下是一個包含了部分常用配置選項的 app.json :
{
“pages”: [
“pages/index/index”,
“pages/logs/index”
],
“window”: {
“navigationBarTitleText”: “Demo”
},
“tabBar”: {
“list”: [{
“pagePath”: “pages/index/index”,
“text”: “首頁”
}, {
“pagePath”: “pages/logs/index”,
“text”: “日志”
}]
},
“networkTimeout”: {
“request”: 10000,
“downloadFile”: 10000
},
“debug”: true,
“navigateToMiniProgramAppIdList”: [
“wxe5f52902cf4de896”
]
}
完整配置項說明請參考小程式全局配置
頁面配置
每一個小程式頁面也可以使用同名 .json 檔案來對本頁面的視窗表現進行配置,頁面中配置項會覆寫 app.json 的 window 中相同的配置項。
完整配置項說明請參考小程式頁面配置
例如:
{
“navigationBarBackgroundColor”: “#ffffff”,
“navigationBarTextStyle”: “black”,
“navigationBarTitleText”: “微信接口功能示範”,
“backgroundColor”: “#eeeeee”,
“backgroundTextStyle”: “light”
}
微信現已開放小程式内搜尋,開發者可以通過 sitemap.json 配置,或者管理背景頁面收錄開關來配置其小程式頁面是否允許微信索引。當開發者允許微信索引時,微信會通過爬蟲的形式,為小程式的頁面内容建立索引。當使用者的搜尋詞條觸發該索引時,小程式開發的頁面将可能展示在搜尋結果中。 爬蟲通路小程式内頁面時,會攜帶特定的 user-agent:mpcrawler 及場景值:1129。需要注意的是,若小程式爬蟲發現的頁面資料和真實使用者的呈現不一緻,那麼該頁面将不會進入索引中。
具體配置說明
頁面收錄設定:可對整個小程式的索引進行關閉,小程式管理背景-功能-頁面内容接入-頁面收錄開關;詳情
sitemap 配置:可對特定頁面的索引進行關閉
sitemap 配置
小程式根目錄下的 sitemap.json 檔案用來配置小程式及其頁面是否允許被微信索引。
完整配置項說明請參考小程式 sitemap 配置
例1:
{
“rules”:[{
“action”: “allow”,
“page”: “*”
}]
}
所有頁面都會被微信索引(預設情況)
例2:
{
“rules”:[{
“action”: “disallow”,
“page”: “path/to/page”
}]
}
配置 path/to/page 頁面不被索引,其餘頁面允許被索引
例3:
{
“rules”:[{
“action”: “allow”,
“page”: “path/to/page”
}, {
“action”: “disallow”,
“page”: “*”
}]
}
配置 path/to/page 頁面被索引,其餘頁面不被索引
例4:
{
“rules”:[{
“action”: “allow”,
“page”: “path/to/page”,
“params”: [“a”, “b”],
“matching”: “inclusive”
}, {
“action”: “allow”,
“page”: “*”
}]
}
包含 a 和 b 參數的 path/to/page 頁面會被微信優先索引,其他頁面都會被索引,例如:
path/to/page?a=1&b=2 => 優先被索引
path/to/page?a=1&b=2&c=3 => 優先被索引
path/to/page => 被索引
path/to/page?a=1 => 被索引
其他頁面都會被索引
例5:
{
“rules”:[{
“action”: “allow”,
“page”: “path/to/page”,
“params”: [“a”, “b”],
“matching”: “inclusive”
}, {
“action”: “disallow”,
“page”: “"
}, {
“action”: “allow”,
“page”: "”
}]
}
path/to/page?a=1&b=2 => 優先被索引
path/to/page?a=1&b=2&c=3 => 優先被索引
path/to/page => 不被索引
path/to/page?a=1 => 不被索引
其他頁面由于命中第二條規則,是以不會被索引
由于優先級的問題,第三條規則是沒有意義的
注:沒有 sitemap.json 則預設所有頁面都能被索引
注:{“action”: “allow”, “page”: “*”} 是優先級最低的預設規則,未顯式指明 “disallow” 的都預設被索引
如何調試
當在小程式項目中設定了 sitemap 的配置檔案(預設為 sitemap.json)時,便可在小程式開發工具控制台上顯示目前頁面是否被索引的調試資訊( 最新版本的開發者工具支援索引提示)詳情點選官方認可的微信小程式開發工具檢視
sitemap.png
注:sitemap 的索引提示是預設開啟的,如需要關閉 sitemap 的索引提示,可在小程式項目配置檔案 project.config.json 的 setting 中配置字段 checkSiteMap 為 false
注: sitemap 檔案内容最大為 5120 個 UTF8 字元