전역 설정
미니 프로그램의 루트 디렉토리에 있는 app.json 파일은 애플리케이션의 전역 설정을 담당합니다. 페이지 경로, 창의 외관, 네트워크 타임아웃 등의 설정이 가능합니다.
다음은 일부 주요 설정 옵션이 포함된 app.json 예제입니다:
{
"screens": [
"pages/main/main",
"pages/log/log"
],
"view": {
"navBarTitleText": "샘플 앱"
},
"bottomTab": {
"items": [{
"path": "pages/main/main",
"label": "홈"
}, {
"path": "pages/log/log",
"label": "로그"
}]
},
"timeout": {
"request": 8000,
"downloadFile": 8000
},
"debugMode": true,
"externalAppIdList": [
"wx1234567890abcdef"
]
}
개별 페이지 설정
각 페이지는 동일한 이름의 .json 파일을 사용하여 해당 페이지의 창 설정을 재정의할 수 있습니다.
예를 들어:
{
"navBarBackgroundColor": "#ffffff",
"navBarTextStyle": "dark",
"navBarTitleText": "API 데모",
"background": "#f0f0f0",
"textStyle": "light"
}
Sitemap 설정
현재 위챗은 미니 프로그램 내 검색을 지원하며, 개발자는 sitemap.json 파일을 통해 또는 관리 콘솔에서 페이지 수집 스위치를 조절하여 특정 페이지의 인덱싱 여부를 결정할 수 있습니다. 위챗의 크롤러(mpCrawler)가 페이지를 방문하면 특정 user-agent와 상황 값(예: 1129)을 포함합니다. 만약 크롤러가 본 페이지의 내용과 실제 사용자가 보는 내용이 다르다면, 그 페이지는 인덱스에 포함되지 않습니다.
Sitemap 구성 예시
루트 디렉토리에 위치한 sitemap.json 파일을 이용해 미니 프로그램 및 각 페이지의 인덱싱 여부를 설정할 수 있습니다.
예시 1:
{
"rules": [{
"action": "permit",
"page": "*"
}]
}
모든 페이지가 인덱싱됩니다 (기본 설정).
예시 2:
{
"rules": [{
"action": "block",
"page": "특정/페이지/경로"
}]
}
특정 페이지만 제외하고 나머지 페이지는 모두 인덱싱됩니다.
예시 3:
{
"rules": [{
"action": "permit",
"page": "특정/페이지/경로"
}, {
"action": "block",
"page": "*"
}]
}
특정 페이지만 허용하고 나머지는 모두 차단합니다.
예시 4:
{
"rules": [{
"action": "permit",
"page": "특정/페이지/경로",
"params": ["x", "y"],
"matching": "포함"
}, {
"action": "permit",
"page": "*"
}]
}
특정 파라미터(x, y)가 포함된 URL이 우선적으로 인덱싱됩니다.