requirejs

requireJS

官方网站:http://www.requirejs.org

1.安装

npm install --save requirejs

2.使用步骤

  • 2.1引包

    1. <!--在index.html中引入require.js文件并指定主入口模块-->
    2. <script data-main="./lib/main.js" src="./node_modules/requirejs/require.js"></script>
  • 2.2 主模块
    ```js
    /*在主模块中:

    • rquirejs第一个参数是一个数组,
    • 传递依赖的模块回调函数的参数是前面模块所暴露的接口对象
    • */
      requirejs(['./lib/abc.js'],function(aModule){

    console.log(aModule);//Object {name: "模块a"}
    });
    ```

  • 2.3 定义一个模块
    1. //定义一个没有依赖的模块
    2. define(function(){
    3. //通过return 的形式向外暴露接口对象
    4. return {
    5. name:'sa',
    6. text:function(){
    7. sonsole.log("hahah");
    8. }
    9. }
    10. });
  • 2.4 定义有依赖的模块

    1. //参数一:模块名,必须与模块文件名保持一致
    2. //参数二:本模块所依赖的模块
    3. //参数三:回调函数,回调函数的参数与依赖模块相对应,模块暴露的数据接口
    4. define(['./c'],function(cModule){
    5. return {
    6. name:'bb',
    7. text:function(){
    8. console.log('bbbbb');
    9. }
    10. }
    11. })
  • 2.5 定义一个而又依赖的模块,并且模块有自己的名字

    js
    //名字在打包的时候使用,
    //在加载的时候需要按照名字去加载
    define('c',['./c'],function(cModule){
    return {
    name:'bb',
    text:function(){
    console.log('bbbbb');
    }
    }
    })

    取的名字必须与加载文件的名字相一致

  • 2.6 在主模块文件中配置基础路径

    > 配置了基础路径,那所有的模块标示都会基于这个路径去查找
    ```js
    requirejs.config({
        baseUrl:'./js'//相对于index.html
    
    });
    ```
    > 注意:第三包不要出现在项目之外
    
  • 2.7 在模块中引入jQuery

    1. requirejs(['./lib/abc.js', './lib/jq.js'], function (aModule, jqModule) {
    2. //jq.js模块引用了jQuery
    3. console.log(aModule);//Object {name: "模块a"}
    4. console.log(jqModule);//undefined???
    5. });
    1. /*这个模块依赖jQuery模块*/
    2. /*jquery.js与当前文件在同一个路径下,此时路径是相对于本文件还是相对于index.html??*/
    3. define('jquery',['./jquery.js'],function($){
    4. return $(function(){
    5. console.log("jQuery执行了");
    6. return "jQuery执行了";
    7. })
    8. });




posted @ 2016-11-02 20:51  itly  阅读(232)  评论(0编辑  收藏  举报