关于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 相关文章推荐
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 Javascript
仿微博字符限制效果实现代码
Apr 20 Javascript
基于KMP算法JavaScript的实现方法分析
May 03 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
Javascript函数的参数
Jul 16 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
js实现点击文本框显示日期选择器特效代码分享
May 21 Javascript
封装好的javascript前端分页插件pagination
Jan 04 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
详解mpvue开发小程序小总结
Jul 25 Javascript
JavaScript两种计时器的实例讲解
Jan 31 Javascript
Vue中keep-alive的两种应用方式
Jul 15 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
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
Django 跨域请求处理的示例代码
2018/05/02 Python
Linux下python制作名片示例
2018/07/20 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
CSS3 倾斜的网页图片库实例教程
2009/11/14 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
邮政员工辞职信
2014/01/16 职场文书
关于赌博的检讨书
2014/01/24 职场文书
培训专员岗位职责
2014/02/26 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
工作收入住址证明
2014/10/28 职场文书
优秀党员事迹材料
2014/12/18 职场文书
golang中的struct操作
2021/11/11 Golang
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS