前台模块化RequireJS+anjularJS的实战应用(一)---- 理论基础

       伴随着项目的不断增大,javascript用的就会越来越多,但大部分都局限于函数的层次,公共js可重用性不好,造成大量的代码冗余,可读性差,影响页面加载速度和性能。


      模块化是一种处理复杂系统分解为更好可管理模块的方式,让系统代码划分为功能职责单一,高度解耦且可替换的模块,这样代码可重用性得到提高,维护性变得更加简单易得。


      模块化可以分成两种:一种是服务器端的javascript模块化,最常见的是CommonJS模块提案;另一种是,前端模块化,像requireJS、SeaJS等,它致力于将javaScript、css和Template三种语言教职运行。


     模块化的提出带来了诸多便利的同时,我们也要注意它的不方便性:


     1. 当模块很多,依赖关系复杂的情况,模块加载必须要按照一定顺序加载,这样严重影响页面性能。


     2. 模块化给静态资源合并打包带来困难。


       上面讨论了模块化js的基本原理,下面介绍一款基于模块化编程的javascripte库--requirejs,了解Requirejs前不得不先明白AMD的含义:http://fex.baidu.com/blog/2014/03/fis-module/


       平时我们使用的<script>标签加载js时是同步的,而且必须要根据js依赖顺序进行加载,尽管我们可以通过async和defer关键字使得加载异步,但可能会丢失加载顺序。AMD解决了这种问题,它使得模块和它的以来被异步加载,并按照正确顺序执行。


        ReruireJs是一种技术文件和模块框架,官网地址为:http://www.requirejs.cn/home.html,它通过读取“根”的方式来获取你需要的功能,要想使用这些基本功能,要先了解requirejs的API,这些内容可从官网上进行浏览,不在赘述。


【总结】

      

        模块化是一种思想,说到底都是为了解耦合,达到代码复用的目的。对比我们后台编程,道理是一样的,我们要在优化与开发效率之间寻求一个平衡点。



       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值