1. 解決痛點
在開發微信小游戲過程中,需要在微信小游戲game.json加入一個配置鍵navigateToMiniProgramAppIdList,但常規通過構建發布game.json都是自動生成的,根本就不給你配置的機會.但如果不解決,需要在每次發布后,手動的在build目錄中找到game.json文件,手動添加配置.或者復制一個配置好的文件,每次構建完成后,就復制覆蓋.總之,很麻煩!
通過常規構建發布生成的game.json文件
{
"deviceOrientation": "portrait",
"networkTimeout": {
"request": 5000,
"connectSocket": 5000,
"uploadFile": 5000,
"downloadFile": 5000
},
"subpackages": []
}
我期望生成的game.json文件
{
"author":"wx:464884492 回復 cocos 加群",
"deviceOrientation": "portrait",
"navigateToMiniProgramAppIdList": [
"需要跳轉的小程序appid"
],
"networkTimeout": {
"request": 5000,
"connectSocket": 5000,
"uploadFile": 5000,
"downloadFile": 5000
},
"subpackages": []
}
2. 項目中builder.json文件
在項目setting文件夾中,有一個builder.json文件.按照正常邏輯它應該和構建相關.湊巧的是在里邊剛好還有一個wechatgame的配置對象.在沒查閱文檔的情況下,憑直覺在這個加入我需要的配置
...
"wechatgame": {
"author":"wx:464884492 回復 cocos 加群",
"REMOTE_SERVER_ROOT": "",
"navigateToMiniProgramAppIdList": ["需要跳轉小程序appid"],
"appid": "當前項目appid",
"orientation": "portrait",
"separate_engine": false,
"subContext": ""
}
...
一溜煙操作后,趕緊構建發布.可最終的結果是添加的配置並沒有如願的添加到game.json文件中.可這問題必須要解決,不生效,我也很絕望啊.
3. 構建模板
絕望又怎樣,還是要解決問題.日常百度,查文檔.功夫不負有心人,在官網找到了定制項目構建流程.可是看了這個文檔.一臉懵逼.雖然找到了方向,可是這文檔說的也抽象了.我實在不能理解,我最終的構建模板該是個什么樣子的.左思右想,不添加自定義模板也可以完成構建.說明,在編輯器安裝目錄中也有具體的構建模板,我復制過來就得了.
果不其然,在項目安裝目錄找到構建模板 C:\Program Files (x86)\CocosCreator\resources\builtin\weapp-adapter 里邊剛好有一個wechatgame.解放我雙手的稻草居然是你.於是乎我根據官網的提示,在我項目目錄里邊建立一個名為build-templates文本夾,然后把找到的wechatgame文件夾復制過來.我仿佛看到勝利的曙光了,趕緊構建發布.是的,並沒有出現問題.可是,當我打開微信開發者工具時,在控制台輸出一大串嘲諷紅色的錯誤信息.好吧,感覺又失敗了.
4. 借雞下蛋
不慌,要冷靜,仔細觀察生成的文件結構和模板中的文件結構,僅僅只是多了res和src兩個文件夾.於是大膽假設,放棄從安裝目錄去拷貝模板文件,直接從默認構建發布的文件去復制就得了.所以,先將項目文件中build-templates文件改個名字,重新構建發布.然后再去build目錄中復制除了res和src之外的所有文件.然后再模板文件中的game.json文件中添加自定義配置navigateToMiniProgramAppIdList,再次構建發布,打開微信開發者工具.這次終於成功.
5. 總結
知識雖小,重在積累.2020注定是不平凡的一年.加油!!
歡迎感興趣的朋友關注我的訂閱號“小院不小”,或點擊下方二維碼關注。我將多年開發中遇到的難點,以及一些有意思的功能,體會都會一一發布到我的訂閱號中