关于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 相关文章推荐
JQuery中each()的使用方法说明
Aug 19 Javascript
Javascript中的Array数组对象详谈
Mar 03 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
May 08 Javascript
Node.js与PHP、Python的字符处理性能对比
Jul 06 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
Oct 17 Javascript
DOM 高级编程
May 06 Javascript
基于jQuery实现仿微博发布框字数提示
Jul 27 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
Apr 01 Javascript
Angular脚手架开发的实现步骤
Apr 09 Javascript
js面向对象之实现淘宝放大镜
Jan 15 Javascript
深入理解webpack process.env.NODE_ENV配置
Feb 23 Javascript
如何理解Vue前后端数据交互与显示
May 10 Vue.js
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
javascript,php获取函数参数对象的代码
2011/02/03 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php英文单词统计器
2016/06/23 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
微信小程序入门教程
2016/11/18 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
微信跳一跳游戏python脚本
2020/04/01 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python调用外部程序的实操步骤
2019/03/04 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
硕士研究生个人求职信
2013/12/04 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
探亲假请假条
2014/04/11 职场文书
班级出游活动计划书
2014/08/15 职场文书
十月围城观后感
2015/06/08 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android