charleyw / wechat-weapp-redux

微信小程序Redux绑定
482 stars 86 forks source link

android版微信小程序真机调试报错:Page[pages/index/index]not found #4

Closed xuming314 closed 7 years ago

xuming314 commented 7 years ago

用weapp-redux的Page(connect(page))注册,在微信开发工具里调试没有问题,但在小程序真机环节下运行,报错信息: Page[pages/index/index]not found. May be caused by: 1.Forgot to add page route in app.json. 2.Invoking Page() in async task.

charleyw commented 7 years ago

能把调用connect的代码贴出来不,看看是不是代码的问题,因为connect里面没有异步调用,connect就是用来生成一个json对象传给Page()的

比如:

const nextPageConfig = connect(mapStateToData, mapDispatchToPage)(pageConfig)
Page(nextPageConfig);

我现在没办法进行真机测试,没有帐号。

xuming314 commented 7 years ago

我用你的todos demo上传也报同样的错误。 现在小程序开启公测了,很方便就能拿到appId,可以用开发工具“上传”你的todos代码。

charleyw commented 7 years ago

嗯,我完了试试看。正在申请。

xuming314 commented 7 years ago

是不是connect.js里的这句微信不允许?:Object.assign({}, pageConfig, mapDispatch(app.store.dispatch), {onLoad, onUnload})

如果改用AOP类库meld的before/after……加载附加的属性和方法是否可行。

charleyw commented 7 years ago

刚注册了一个,我一会调试一下,有结果给你说。

charleyw commented 7 years ago

我刚才试了一下,我把todo传上去了,是可以用的。 传原代码是不行的,因为里面有个gif图,所以超过大小了。

我刚上传了一个release分支,你用这个试一下:

git clone -b release https://github.com/charleyw/wechat-weapp-redux-todos.git
xuming314 commented 7 years ago

刚测过了,iphone版微信6.3.30(最新版)可以运行你的todos,android版微信6.3.28(最新版)/6.3.27不行,报Page[pages/index/index]not found

xuming314 commented 7 years ago

android版微信问题已修复,的确是Object.assign问题造成的,用直接赋值和meld.before的AOP解决。 fork了你的分支,已发起pull request,请求合并。

charleyw commented 7 years ago

这个问题确认是Object.assign缺失造成的。并且已经在这次Commit 7543ac1f8796acc1626b0c016c3e2c52b7eb6442 中修复了 但是目前小程序并没有一个明确的怎么引入第三库的指导意见,所以我把Object.assign的polyfill拷贝进来了,在使用Object.assign的地方用这个polyfill.