关于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 相关文章推荐
下拉框select的绑定示例
Sep 04 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
Dec 31 Javascript
JavaScript限定图片显示大小的方法
Mar 11 Javascript
详解参数传递四种形式
Jul 21 Javascript
jQuery控制控件文本的长度的操作方法
Dec 05 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
详解使用webpack构建多页面应用
Dec 21 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
Aug 30 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 Javascript
js中null与空字符串&quot;&quot;的区别讲解
Jan 17 Javascript
vue 实现锚点功能操作
Aug 10 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去除HTML标签实例
2013/11/06 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
jQuery1.6 使用方法二
2011/11/23 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Python中return语句用法实例分析
2015/08/04 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
测试工程师岗位职责
2013/11/28 职场文书
历史系自荐信范文
2013/12/24 职场文书
农民致富事迹材料
2014/01/23 职场文书
七年级地理教学反思
2014/01/26 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
团日活动总结报告
2014/06/25 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL