requireJs

2017-11-03  本文已影响0人  前端小华子
RequireJS是一个JavaScript文件和模块加载器。

命名空间

模块定义

创建一个项目规划


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();
});

上一篇下一篇

猜你喜欢

热点阅读