最近都没在更博(:з」∠) 但是来总结一下这段时间(我还记得的)发生过的问题
throw errnoException(err, ‘spawn’); Error: spawn EACCES
这是有个项目一直只在公司的win上面开发,虽然是用git管理的,但是最近一次有急需才clone到mac上来继续开发, 然后打包项目的时候就遇到了这个报错。
总之,发现其实是权限的问题,
解决方案
在项目的root路劲下跑一下这个,把权限调整好就可以了
1 | chmod -R u+x . |
HTTP code 206 Partial Content
是的,那是一天的半夜……,后端的小组长跑来被自动化测试要求发环境,结果发了几次都是挂的,
然后跑来问我是怎么回事。
虽然乍一看静态资源是200
了,但是仔细一看其实是206
。
然后仔细一看资源的Content-Type
是1,然后居然有了个Content-Range
,而且数字是个很微妙的东西
顺便一提↓
而且控制台静态资源报错Content-Range 显示的是一个数据片段在整个文件中的位置。
Content-RangeMDN web docs
1
2
3 Content-Range: <unit> <range-start>-<range-end>/<size>
Content-Range: <unit> <range-start>-<range-end>/
Content-Range: <unit> /<size>
ERR_CONTENT_LENGTH_MISMATCH
然后在Stack Overflow上搜了一波,好多人说是nginx的权限问题。不过最后一查,是因为磁盘满了=。=
try-catch
还有一个是因为最外层的try-catch把error都catch住了,导致报错没有被发现,造成了一个线上bug
不过我还蛮佩服我自己的,因为这么写已经大半年了,这个缘故的bug还是第一次……原来我都一直没有写出过bug呜呜呜呜
总之来说是这样的,在外层渲染dom的时候用了这样一段代码
1 | try { |
不过小钻风说把source里面的
Pause on exceptions
打开就可以抓住这种奇奇怪怪的bug了微信里的transitionEnd事件
在微信里面调用了transitionEnd
事件,但是ios8里面并没有被触发。
最后谷歌之后,发现说是因为只有transition-property
是all的时候才能一定出发transitionEnd
事件……
吐血
我确实transition-property
写的是opacity,为了兼容只能忍辱负重了……抹眼泪
微信定位
这又是一个神坑 =L=
产品发现部分手机微信定位会蜜汁失败,然后跑来找我们,不过并没有说是什么环境,只有个小视频……而且小视频最后还被删掉了(吐血)
结果最后又变成在盲找bug
先说我们的流程,就是先由后端获取定位,如果500的话,再调用JS-SDK定位,如果再没有位置或失败的话就告诉用户定位失败了。
已知的可能定位失败就是安卓如果在公众号内没有停留超过5s的话就会定位不到,因为微信定位5s推送一次,还有就是关掉或打开定位不会马上定位失败/成功,必须经过一段时间(目测是有缓存)
然后我们架构师就表示怎么可能定不到位……非要叫我们搞定,心塞的要死😑最后是能一种种试过去
经过各种试验,可以确定ios关了定位肯定就定不到了,安卓开了定位也有可能订不到,但是关了调用navigator.geolocation
还能定到,完了这个定位看网络情况可能要好久才能定位到
过程略,总之最后就是决定改成后端定位返回附近地址和最近收货地址,然后如果没有附近地址就先JS-SDK定位,如果失败再调用navigator.geolocation
,如果也失败的话再使用收货地址,如果再没有再提示没有。