dingyou-dingtalk-mobile项目在NowaUI上下载下来直接编译部署后
在安卓版钉钉上会出现无法正常显示的问题,
安卓真机调试在谷歌上显示错误如下:
1、undefined is not a function
2、unhandled promise rejection
针对第一个问题,最直接的解决办法是:
办法一、找到index.js文件,将文件代码中refast.js注释掉。
或者
办法二、更新refast组件的版本,更新到最高版本,再在refast.js中将去除
LogicRender.defaultProps = Object.assign( LogicRender.defaultProps, attachComponents );
(这个未验证)
针对第二个问题是因为在安卓版本中promise可能不太支持
可参考
https://stackoverflow.com/questions/38485826/getting-referenceerror-fetch-is-not-defined-when-running-react-native-tests-in
https://www.npmjs.com/package/isomorphic-fetch
具体解决办法是:
1、安装isomorphic-fetch es6-promise
npm install --save isomorphic-fetch es6-promise
2、在index.js,以及dings/index.js中加入
require('es6-promise').polyfill();
require('isomorphic-fetch');
重新编译部署后,安卓版钉钉可以正常访问微应用。
这是比较粗略的解决办法,具体什么原因没有去深究,希望对有用到这个脚手架的同学,遇到这个问题的时候可以参考下。