TAT.dnt kmdjs集成uglifyjs2打造极致的编程体验
In 未分类 on 2016年06月14日 by view: 1,974
1

回顾

上篇文章大概展示了kmdjs0.1.x时期的编程范式:
如下面所示,可以直接依赖注入到function里,

也可以直接在代码里把full namespace加上来调用,如:

而且,在循环依赖的场景,因为执行顺序的问题,会导致第一种方式注入undefined,所以循环依赖的情况下只能用full namespace的方式来调用。

这种编程体验虽然已经足够好,但是可以更好。怎样才算更好?

  1. 不用依赖注入function
  2. 不用写full namespace,自动匹配依赖

如下所示:

这就要借助uglifyjs能力,把function的字符串替换成带有namespace就可以实现上面的效果。

uglifyjs依赖分析和代码重构

通过上面的fixDeps,可以对代码就行变换。如:

输出:

这样,kmdjs在执行模块function的时候,只需要fixDeps加上full namespace就行:

build出来的包,当然全都加上了namespace。再也不用区分循环依赖和非循环依赖了~~~

Github

上面的所有代码可以Github上找到:
https://github.com/kmdjs/kmdjs

原创文章转载请注明:

转载自AlloyTeam:http://www.alloyteam.com/2016/06/kmdjs-integrated-uglifyjs2-to-build-the-ultimate-programming-experience/

  1. WEI 2016 年 7 月 17 日

    最近发现很多H5把资源都压在一个文件里面了,能不能给点思路?

发表评论