关于RequireJS的简单介绍即使用方法


Posted in Javascript onOctober 20, 2016

RequireJS介绍

RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中使用。使用RequireJS加载模块化脚本将提高代码的加载速度和质量。

兼容性

浏览器(browser) 是否兼容
IE 6+ 兼容 ✔
Firefox 2+ 兼容 ✔
Safari 3.2+ 兼容 ✔
Chrome 3+ 兼容 ✔
Opera 10+ 兼容 ✔

优点

实现js文件的异步加载,避免网页失去响应

管理模块之间的依赖性,便于代码的编写和维护

快速上手

step 1

引入require.js

require()中的依赖是一个数组,即使只有一个依赖,你也必须使用数组来定义

第二个参数是回调函数(callback),可以用来解决模块之间的依赖性

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="require.js"></script>
    <script type="text/javascript">
      require(["js/a"], function(){
        alert("load finished");
      });
    </script>
  </head>
  <body>
   body
  </body>
</html>

step 2

require.config是用来配置模块加载位置

如果固定的位置比较长,可以使用 baseUrl : "js",则paths中就不用写js了

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="require.js"></script>
    <script type="text/javascript">
      require.config({
        paths : {
          "jquery" : ["http://vs.thsi.cn/js/jquery-1.7.2.min", "js/jquery"],
          "a" : "js/a"        
        }
      });

      require(["jquery", "a"], function(){
        alert("load finished");
      });
    </script>
  </head>
  <body>
   body
  </body>
</html>

step 3

step 2中重复出现了require.config配置,如果每个页面中都加入配置,就显得不大好了,requirejs提供了一种叫"主数据"的功能

创建一个main.js把step 2中require.config放到main.js中

<script data-main="js/main" src="js/require.js"></script>

step 4

通过require加载的模块一般都需要符合AMD规范即使用define来申明模块,但是部分时候需要加载非AMD规范的js,这时候就需要用到另一个功能:shim

require.config({
  shim: {
    "underscore" : {
      exports : "_";
    },
    "jquery.form" : ["jquery"]
  }
});
require(["jquery", "jquery.form"], function($){
  $(function(){
    $("#form").ajaxSubmit({...});
  })
});

以上就是小编为大家带来的关于RequireJS的简单介绍即使用方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
你知道setTimeout是如何运行的吗?
Aug 16 Javascript
JS实现HTML标签转义及反转义
Apr 14 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
谈谈JS中的!!
Dec 07 Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 Javascript
vue使用websocket的方法实例分析
Jun 22 Javascript
javascript的setTimeout()使用方法总结
Nov 20 Javascript
javascript淘宝主图放大镜功能
Oct 20 #Javascript
利用Angular.js限制textarea输入的字数
Oct 20 #Javascript
一个极为简单的requirejs实现方法
Oct 20 #Javascript
JavaScript实现窗口抖动效果
Oct 19 #Javascript
原生js图片轮播效果实现代码
Oct 19 #Javascript
Angular2表单自定义验证器的实现
Oct 19 #Javascript
javascript滚轮控制模拟滚动条
Oct 19 #Javascript
You might like
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
js表单验证实例讲解
2016/03/31 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
python实现泊松图像融合
2018/07/26 Python
python 拼接文件路径的方法
2018/10/23 Python
pandas数据集的端到端处理
2019/02/18 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
聚美优品广告词改编
2014/03/14 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
作风建设演讲稿
2014/05/23 职场文书
上课说话检讨书500字
2014/11/01 职场文书
求职简历自我评价2015
2015/03/10 职场文书
党支部季度考核意见
2015/06/02 职场文书
获奖感言怎么写
2015/07/31 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL