关于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 相关文章推荐
angularJS中router的使用指南
Feb 09 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
May 06 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
JS之if语句对接事件动作逻辑(详解)
Jun 28 Javascript
AngularJS 仿微信图片手势缩放的实例
Sep 28 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
JS代码实现电脑配置检测功能
Mar 21 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
Mar 12 Javascript
解析vue、angular深度作用选择器
Sep 11 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 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中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
python删除不需要的python文件方法
2018/04/24 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
python实现按首字母分类查找功能
2019/10/31 Python
python中的itertools的使用详解
2020/01/13 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
初三学习决心书
2014/03/11 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
教师见习报告范文
2014/11/03 职场文书
五好家庭事迹材料
2014/12/20 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
2019大学生实习报告
2019/06/21 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL