js的动态加载、缓存、更新以及复用(三)
总体思路
1、 建立一个js服务,该服务实现通用js文件的加载、依赖、缓存、更新以及复用。
2、 各个项目如果使用通用js,可(bi)以(xu)使用js服务实现加载。
3、 Js服务只提供通用的js,比如jQuery、my97、easyUI等(可根据实际情况设定具体的js文件)。
4、 其他针对特点需求写的js文件,需要自己写代码加载。Js服务可以提供加载用函数。(正在考虑要不要使用sea.js)
5、 Js服务加载的js文件,不需要做任何修改。当然也不负责各个文件里的函数名称是否冲突。
Sea.js追求自然编程,代码要写的自然。很是巧合我也推崇自然编程,我写的框架就叫做“自然框架”。只是在加载js这块和sea.js的思路有点不同。
一个项目里需要的js文件可以分为三种:第三方通用js(比如jQuery、my97等);自己公司写的通用js(比如我写的NatureUI);自己对特定需求写的特定js。
我觉得对于通用的js,就不需要每次用的时候都去写一行代码进行加载,太麻烦了。比如jQuery,加载(自动处理)之后我直接$就可以用了,没必要在写一行加载用的代码。因为Js服务会把各种通用js文件一次性的加载到top页面,然后利用“复用”的方式,让其他页面可以直接使用。也就是说在子页里,不用去考虑jQuery有没有加载,加载完成了没,不用再令写一行加载的js,直接用就好了。
就像我们写C#代码,新建一个项目的时候,VS会把常用的dll引用进来;新建一个页面的时候,VS会把常用的命名空间using上,不需要我没再去操心了。我觉得这种方式比较简单,至于是否自然,那就是仁者见仁智者见智了。
加载流程
看图
1、 在页面里使用