qiu8310 / minapp

重新定义微信小程序的开发
https://qiu8310.github.io/minapp/
926 stars 68 forks source link

wxml 的解释器 #77

Open jokester opened 6 years ago

jokester commented 6 years ago

(不是issue,只是想探讨一下)

wxml实质上是 data => VDOM 的函数。如果我们有一个 wxml的解释器 (类似 react-test-renderer),应该在 jest snapshot等地方会有用? 我没有找到比较完整的类似的东西。

qiu8310 commented 6 years ago

这一块我也正好是想了解,不过我现在也不了解,我所知道的是之前有人将腾讯的那个开发者工具迁移到linux上了,而腾讯的那工具是用 nw 开发的一个桌面应用。所以研究一下那个软件也许可以找到你要的答案(Github 上应该能找到源码,我再看到的话就贴出来)

qiu8310 commented 6 years ago

像你说的,我也是想写一个集成测试的东西

qiu8310 commented 6 years ago

https://github.com/cytle/wechat_web_devtools

jokester commented 6 years ago

微信IDE 内部有一个wcc,不是JS做的,http://www.alonemonkey.com/2017/01/18/wechat-small-program/ 4. Button标签 有个介绍。

不过生成的JS非常难读,也不方便在测试中执行 (需要window)

qiu8310 commented 6 years ago

你发的那个文章对我来说已经研究的很深了! 可以学习一下。

我也给不了更好的方法。

我把这 issue 开着,以后如果研究了可以分享一下

jokester commented 6 years ago

好的,有什么发现一起交流 👍

jokester commented 6 years ago

我造了一个用node运行wxml.js的POC: https://github.com/jokester/poc-wxml-evaluation

这里用wcc只编译了单个文件,实际上 wcc大概是用来把各page,可能还有component编译到一文件的。