嗯 验证了下 确实是这样子,感谢呀。
我有个问题呀,你说的 5w 多的代码是指的你的源码吗?然后 2w 多是指的插桩后的报告吧。这个报告能够对应到你真正的源码不?
我看到你的报告中的 vplayer 看上去不像是你们的源码呀
https://www.jianshu.com/p/fc038a92d1eb 看看这个文章 网上比较多 关于 express 设置跨域的方式
这个是前端的跨域请求了 你可以改下你那个 8088 的服务,让他允许跨域请求就可以了。
要怎么解决呢?有方法吗? 不过我看文档的说明是说 15 的版本是默认开启 jsx 的解析的,之前 14 的版本是不开启的,感觉貌似有点相反了。
浏览器端实时插桩这种方案很难做的,现在基本上前端代码都是 es6 代码然后 babel 转 es5 然后浏览器拿到的时候已经是被编译后的代码了,这个时候插桩怎么映射回源码的,这个事情很难
能不能提供更详细的信息 我们这边 typescript 的插桩是可以的,并且有能够获取到覆盖率数据,但是我们这边都是前端项目,不是针对 react-native 的。
你在 build 的过程中有没有报错 (记得还要安装 npm install @babel/plugin-transform-modules-commonjs),如果没有其实就是没问题的,然后你要验证这个插桩是否成功的话直接打开对应的页面,然后 F12, 控制台输入 window.coverage 看看是否有内容,当然更便捷的就是直接打开打包后的 js 文件,查看里面有没有 cov,branchMap 的字样。
如果说你的项目是 babel,并且版本是 7 的话 那确实只需要修改 babelrc 就可以了
instrument-backend-code node 端的插桩的话 参考下这里
我们这边 node 端只是做请求转发到后台的作用而已,基本没有实现什么业务逻辑,所以 node 端我们是没有插桩的。这块我了解的不多。可能需要你去到 nyc 官网去看下,理论上应该是可以的。
请问下,你们有遇到过前端项目又依赖了自己开发的一些 sdk(js) 的情况吗? 这种你们是怎么进行插桩的吗?感觉 node_modules 中的代码都已经是压缩编译后的,针对这些插桩没办法还原回来映射的源码的情况。
项目 1 我这边是可以的。
你能方面生成一个最小的项目出来不?一起探讨下 因为我们这边尝试好几个项目就是这么解决的
第二个问题 没遇到 不过我觉的是不是你插桩的时候还插了第三库的代码才有这个问题
第一个我最近也遇到过,网上的解决措施是修改 import 源码,不过误打误撞发现 babelrc 里面增加插件 @babel/plugin-transform-modules-commonjs 可以解决。
告诉你个好消息,帮你试了下 你可以把 nyc 的帮忙降级到 14.0.0 我用那个版本插桩就可以了,我不确定是不是 15 的版本是不是修改了什么,因为我们这边都是通过 istanbul-plugins 进行插桩的
你贴的 Repo 似乎仅做了单元测试,属于【本地运行,本地统计覆盖率】的场景,这并不需要用到 middleware。升级 nyc 是没毛病的选择
但 nyc 未提供 middleware,对于【多端运行,在服务端统计覆盖率总和】的场景,我暂时没有什么好的解决方案
其实我们这边目前的方案也是基本跟你上面的方案是一致的,只是说 istanbul-middleware 这块我们没有直接用它那个项目,因为这个项目归根到底就是一个 node 服务,然后调用了 istanbul 的 api 的。所以我们这边自己实现了一个 node 的服务,然后获取到 coverage 数据以后,通过 nyc 的 api 方式去生成了报告。不过目前这种方式还不能说完全没问题,因为我们现在刚把整个流程打通,还没有在业务项目里面真正的使用过。
使用的 babel 编译的吗,用 babel-plugins-istanbul
这个是我用 istanbul-middleware 生成报告的结果。
用的源码仓库是 https://github.com/vikpe/react-webpack-typescript-starter
然而 我再用 nyc 生成报告的话就是这样子
不知道你们有没有遇到过这种,所以我这边就直接弃用了 istanbul-middleware
istanbul-middleware 的使用上 你们有遇到什么坑吗? 我们这边使用这个, 在报告生成上是非常不准确的,因为他那块依赖的库都是好几年前的了,所以后面我们发现通过 nyc 的方式就可以解决这个事情的
可以再了解下 dubbo 的泛化调用。现在大部分的应该都是用这种当时自动化的。我们公司也是跟一楼一样
这个确实是个问题。内部类这块我没有细究。我记得在 java 增量那块我做了一些兼容处理,不过 kotlin 那块是有问题的。我下来再试试看
楼主有研究过 kotlin 的增量代码差异吗?
增量支持 kotlin 吗