最近在学习requirejs,学了一段时间,却发现自己没有搞懂一个问题,为什么需要requirejs,为什么需要模块化加载呢?
今天看到csdn上的一篇博客,解决了我的种种疑问—— http://blog.csdn.net/uikoo9/article/details/41556599
web开发正在逐渐以网站的形式向web apps的形式转变,因此,代码需要能够模块化,这样使得js文件组织起来更方便。这时requirejs的作用就体现出来了,那么来说说requirejs的优点吧。
requirejs采用lazyload的方式(后加载)加载js脚本,这样的加载方式大大的提高了性能
requirejs采用模块化的加载js的方式,可以让代码松耦合
所以如果用nodejs做webapp,nodejs+requirejs是很不错的组合,requirejs也很适合做游戏开发
但是,和任何框架一样,有优点也必然有一定缺点,requirejs是强迫第三方插件适应其框架,以至于有许多不支持amd和cmd 的插件不能直接被requirejs使用,也就意味着如果使用这些插件,需要将其进行一定的修改,使其符合cmd的规范。这对于一些大量使用第三方插件的网站是很不利的。另外,使用requirejs之后,所有的事件都需要进行绑定。这对于很多前端开发者来说是很不适应的。
所以如果是开发的网站含有大量的js代码,并且大多数是自己编写的js,或者开发webapp,游戏,那么推荐用requirejs;
如果开发的网站含有大量第三方插件,建议放弃requirejs