关于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 小练习(实例代码)
Aug 07 Javascript
JS操作图片(增,删,改) 例子
Apr 17 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
JavaScript基本语法讲解
Jun 03 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
Mar 07 Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
Dec 26 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
Oct 20 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 Javascript
新手简单了解vue
May 29 Javascript
JS操作json对象key、value的常用方法分析
Oct 29 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邮件专题
2006/10/09 PHP
缓存技术详谈―php
2006/12/14 PHP
php 定界符格式引起的错误
2011/05/24 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
Python实现合并字典的方法
2015/07/07 Python
Python Requests安装与简单运用
2016/04/07 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
python如何为创建大量实例节省内存
2018/03/20 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
办理护照介绍信
2014/01/16 职场文书
高中生的自我评价
2014/03/04 职场文书
安全责任书范本
2014/04/15 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
法定代表人资格证明书
2015/06/18 职场文书
讲座新闻稿
2015/07/18 职场文书
停车场管理制度范本
2015/08/05 职场文书
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL