微信開發者工具導入 wepy 項目“app.json 未找到”報錯解決方法


版本信息:

  • 微信開發者工具:1.03.2101150
  • wepy:2.0
  • wepy/cli:6.14.8

問題描述

按照 wepy 文檔中的步驟新建項目:

$ npm install @wepy/cli -g # 全局安裝 WePY CLI 工具
$ wepy init standard myproj # 使用 standard 模板初始化項目
$ cd myproj # 進入到項目目錄
$ npm install # 安裝項目依賴包

使用開發者工具導入 myproj 根目錄,即可預覽效果。

但我使用開發者工具導入項目后,控制台報錯:[ app.json 文件內容錯誤] app.json: app.json 未找到

上網搜索了一下,看到很多人提到了一個方法:

project.config.json文件中添加如下代碼后從新編譯即可:

"miniprogramRoot": "./dist"

然后我這里的報錯變成了:[ app.json 文件內容錯誤] dist/app.json: dist/app.json 未找到

解決方法

雖然沒有成功解決問題,但有人提到:出現這個問題的原因是微信開發者工具導入項目時修改了 project.config.json 文件。

用 cli 重新新建一個項目,不用微信開發者工具導入,直接打開 project.config.json 文件,內容如下:

{
  "description": "A WePY project",
  "setting": {
    "urlCheck": true,
    "es6": false,
    "postcss": false,
    "minified": false
  },
  "compileType": "miniprogram",
  "appid": "touristappid",
  "projectname": "myproj",
  "miniprogramRoot": "./weapp"
}

可以注意到這一行:"miniprogramRoot": "./weapp"。將這行添加到導入到開發者工具的項目對應文件中,即可正常編譯預覽。

整個weapp都是自動生成的項目中沒有的。根據里面文件的內容,可以看出是由組件化開發的 .wpy 等文件翻譯成的小程序原生的 js/json/wxml/wxss 等對應文件,包括程序入口 app 系列文件。

其他文章中提到的 ./dist 可能是 cli 其他版本生成的不同文件結構。


21.02.21 更新

之前這個方法暫時解決了一個報錯,但是發現又出現了新的一些bug,比如組件不能正確渲染、找不到頁面、點擊事件觸發失敗等等,如下(wepy的demo項目)。

關閉ES5轉ES6

在小程序開發工具中,把詳情-本地設置-ES6轉ES5 設置關掉可以解決部分問題,原因不明。

重新導入項目

關閉上述這個轉換之后還是有一些問題。后來又發現一個玄學解決辦法,是目前為止看起來最簡單可靠的辦法:

之前在小程序開發工具中導入的是 myproj 的根目錄。用其他編輯器(例如 VS Code)打開項目根目錄並啟動項目,如果編譯成功(控制台指令和輸出如下),項目中會生成 ./weapp 目錄,就是第一個方法中添加在配置文件中的那個目錄。

在小程序開發工具中導入項目時選擇這個生成的 weapp 目錄,即可正確編譯和渲染。並且在VSC中修改保存wepy的代碼之后,小程序開發工具這邊也會自動更新(npm 檢測到代碼變動后自動重新編譯)。

$ npm run dev

> bj_mini_program@0.0.2 dev E:\0_project\sk_BulletJournal\BJ_miniProgram
> wepy build --watch

# ...

[20:13:05] info build finished
[20:13:05] info watching...

參考

http://www.webxlab.net/article/detail/VBgKvl7ALW

更新

各種奇怪的bug太多了,我頂不住回歸原生了orz,兄弟們加油。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM