我们都知道taro1/2是重编译时框架,「编译时」将react代码编辑成小程序代码,「运行时」抹平平台差异,那他为什么要在运行时抹平生命周期和api等平台差异呢?编译的时候不能直接抹平吗?
我们都知道taro1/2是重编译时框架,「编译时」将react代码编辑成小程序代码,「运行时」抹平平台差异,那他为什么要在运行时抹平生命周期和api等平台差异呢?编译的时候不能直接抹平吗?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
Q: 编译的时候不能直接抹平吗?
A:
实际业务代码太灵活了,编译时的ast分析根本抹平不了差异
有的平台确实不支持一些api的功能,需要用运行时的代码抹平
api里明明能支持events和success回调,你强行转成
location.href = 'test?id=1'
,不觉得有问题吗?