关于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 相关文章推荐
js模拟滚动条(横向竖向)
Feb 22 Javascript
JS分页效果示例
Oct 11 Javascript
javascript事件冒泡实例分析
May 13 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 Javascript
微信小程序实现图片滚动效果示例
Dec 05 Javascript
JavaScript实现京东放大镜效果
Dec 03 Javascript
JavaScript React如何修改默认端口号方法详解
Jul 28 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函数,php爱好者站推荐
2007/03/19 PHP
php 前一天或后一天的日期
2008/06/28 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
windows下python安装pip图文教程
2018/05/25 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
英国现代绅士品牌:Hackett
2017/12/17 全球购物
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
工程售后服务承诺书
2014/05/21 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
销售辞职信范文
2015/03/02 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
刑事撤诉申请书
2015/05/18 职场文书
病假证明模板
2015/06/19 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书