seaJs-模块化开发框架

1.为什么需要模块化开发?

当网站越来越复杂的时候,很容易遇到以下两个问题:
  • 命名冲突
  • 文件依赖
    js语言本身在解决这两个问题时有局限,而使用框架协助模块化开发就是很好的解决办法

2.模块化解决问题的原理

  • 职责单一:每个模块实现单一的职责
  • 匿名函数注入依赖:保证模块的独立性,也使得模块之间的依赖关系变得明显

3.seaJs的基础语法

<!--1.引入sea.js框架-->
<script src='./sea.js'>

<!-2.引入的第一个js文件为入口函数-->
seajs.use('./main.js');<!--无回调函数写法-->

seajs.use('./main.js',function(info){
    console.log('info是main.js返回的数据,我是回调函数');
});<!--有回调函数写法-->

<!--3.定义模块define-->
define(function(require,exports,module){

<!--4.依赖注入 
require加载js文件/exports暴露对外的变量/module模块
-->

    <!--4.假设请求(依赖)了具有求和功能的js文件-->
    var add = require('./add.js');

    <!-5.将add方法暴露给调用此模块的文件-->
    module.exports.add = add;

    <!--6.等价简写,类比$、jQuery-->
    exports.add = add;
})

4.配置

seajs.config({

    <!--根目录-->
    base:'../myfolder',

    <!--别名-->
    alias:{
        "jquery": "jquery/jquery/1.10.1/jquery.js"
    }
})

5.易错点:路径

以./或../开头的是相对路径,相对于require所在模块的路径;
不以两者开头的路径,会相对于模块的基础路径解析(配置项中的base)

若未配置,根路径默认为sea.js所在的路径,若有多个版本的sea.js文件,以sea.js所在的文件夹seajs为根路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值