requireJs

RequireJS是一个JavaScript文件和模块加载器。
  • RequireJS包含三个重要的函数:require,define和requirejs。
  • 其中require和requirejs其实是同一个函数。

命名空间

模块定义

创建一个项目规划


QQ截图20171103183828.png
  1. 在html中
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>requireJs</title>
  </head>
  <body>
    <div id="div"></div>
    <div id="div2"></div>
    <ul id="ul">
      <li><a href="javascript:void(0)">小逗比__PS</a></li>
      <li><a href="javascript:void(0)">小逗比__HTML</a></li>
      <li><a href="javascript:void(0)">小逗比__CSS</a></li>
      <li><a href="javascript:void(0)">小逗比__JavaScript</a></li>
    </ul>
      // 你可以使用本地的--也可以使用cdn
      // data-main = "js/main"  这是入口文件 
    <script data-main="js/main" src="https://cdn.bootcss.com/require.js/2.3.5/require.min.js"></script>
    <script type="text/javascript">
    </script>
  </body>
</html>
  1. 创建一个main.js
    这是写入require配置的,也是总文件,引入多个子文件
 // 配置文件
require.config({
  baseUrl: "./js",
    paths:{   // 配置路径
        'mobile' : "https://assets.alicdn.com/apps/top/c/sdk-mobile",
        'jquery': "https://cdn.bootcss.com/jquery/3.2.1/jquery.min",
        // 'zepto': "https://g.alicdn.com/sj/lib/zepto/zepto.min",
        "sui" : "https://g.alicdn.com/msui/sm/0.5.6/js/sm.min",
        'index': 'index',
        'index2': 'index2',
    },
    //require.config()的配置对象
    shim:{
        'index':{  //这里引入的第一个js文件
            // deps: ['zepto','mobile'],  // deps 定义依赖 依赖于jquery
            deps: ['jquery','mobile'],  // deps 定义依赖 依赖于jquery
            exports: 'writeIndex'
        },
        'index2':{  //这里引入的第二个js文件
          deps: ['jquery','mobile'],
            exports: 'writeIndex2'
        }
    }
})
//导入模块
require(['jquery','index','index2'], function ($,index,index2) {
    //这里是指所有的js执行完,执行这里的代码
});

  1. 在 index.js 中使用jquery
define(function(){  //定义函数
    $('#div').html("require模块化");
    $('#ul').on("click","li a",function(){
      $(this).css({color:'red'}).parent().siblings("li").children().css({color:"#00e"})
      console.log(($(this).html()+"(你以为这就完事了??我特么还可以再弹一次,有时候装逼就是这么简单!)"));
    });
});

  1. 在index2中使用jquery
define(function(){
  function writeIndex2(){
    $("#div2").html("hello world")
  }
return writeIndex2();
});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 导语: 之前一直有听说RequireJS,但是一直都没机会去了解,只知道它是一个给js做模块化的API。最近在做R...
    wuqke阅读 40,952评论 11 78
  • RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一。最新版本的Req...
    清葉阅读 545评论 0 1
  • 什么是requireJS? requireJS发挥的作用 简单总结起来就2点 改善了用户体验,它使js文件异步加载...
    阿波罗程序猿阅读 848评论 0 0
  • 一直以来,都以为爱是深藏在心底的精灵,它纯洁、充满暖意,本以为它不会过多的表露在身边,可是,它一直都真真切切...
    白笺阅读 235评论 0 1
  • 苦苦看了我两天,最近后台为了减轻压力,要我做缓存,我说好吧...... 借鉴了别人的说法找到一张图可以看明白好多:...
    walkingzmz阅读 374评论 0 1