关于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 相关文章推荐
use jscript Create a SQL Server database
Jun 16 Javascript
js substr、substring和slice使用说明小记
Sep 15 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
jquery append()方法与html()方法的区别及使用介绍
Aug 01 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
理解JavaScript中worker事件api
Dec 25 Javascript
js判断手机号是否正确并返回的实现代码
Jan 17 Javascript
javaScript 逻辑运算符使用技巧整理
May 03 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
jQuery实现获取多选框的值示例
Feb 07 jQuery
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脚本的10个技巧(6)
2006/10/09 PHP
php htmlspecialchars加强版
2010/02/16 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
JS模板实现方法
2013/04/03 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
python类中super()和__init__()的区别
2016/10/18 Python
Django Rest framework频率原理与限制
2019/07/26 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
Python实现简单的2048小游戏
2021/03/01 Python
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
客户接待方案
2014/02/26 职场文书
高中社区服务活动报告
2015/02/05 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL