requireJS基本配置相关
requireJS:
(1)实现js文件的异步加载,避免页面失去响应;
(2)管理模块之间的依赖性,便于代码的编写和维护。
加载:
<script src="js/require.js" ></script>
由于加载的模块较多,可能会造成页面失去响应,故可以将此 script 标签 放到 <body> 的后面
(you could also place the script tag end of the <body> section if you do not want the loading of the require.js script to block rendering)
<script src="js/require.js" defer async="true" ></script>
或者是个该标签加上 async 属性,由于IE只支持 defer,故把该属性也一并加上
(For browsers that support it, you could also add an async attribute to the script tag.)
<script src="js/require.js" data-main="js/main"></script>
date-main 指定程序的主模块入口,(由于require.js默认文件后缀是js,故main.js可以简写成main)
程序主模块入口文件:main.js
require(['jQuery', 'underscore', 'backbone', 'moduleA', 'moduleB', 'moduleC'], function($, _, Backbone, moduleA, moduleB, moduleC) {
//some code do sth
})
第一个参数:数组,程序所依赖的模块
第二个参数:回调函数,当把前面指定的模块都加载完成后,回调函数将被调用,前面所加载的模块讲义
注:此种情况加载成功的前提是,依赖模块与main.js在同一目录下,(涉及require另已配置属性baseUrl)
模块加载自定义:require.confige()
位置:主模块main.js的顶部
参数:一个对象{}
对象属性:
/* 逐一指定路径 */
baseUrl: '',//默认值为main.js所在目录
paths:{ //相对baseUrl的路径
"jquery": "jquery",
"underscore": "underscore.min",
"backbone": "backbone.min"
}
/* 改变基目录 baseUrl,模块取相对基目录的路径 */
baseUrl: 'js',//默认值为main.js所在目录
paths:{
//相对baseUrl的路径,路径别名,
//requery()函数的第一个参数中的元素即该属性对象的属性名如:jquery
"jquery": "libs/jquery",
"underscore": "libs/underscore.min",
"backbone": "libs/backbone.min"
}
/* 在另一台主机上 */
paths:{
"jquery": "https://code.jquery.com/jquery-3.1.1.min.js"
}
此时如果加载多个模块的话,就会发送多次HTTP请求,为了不影响页面的加载速度,可以在模块部署完毕后,借用require.js的优化工具 ———— r.js,将这多个模块合并到一个文件中,以减少HTTP请求数。
shim: { //配置不兼容的模块
"underscore": {
exports: '_'
},
"backbone": {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
}
}
//exports: 输出变量名,外部模块调用时该模块的名称
//deps: 该模块的依赖模块
requery.js加载的模块必须是 按照AMD规范、用define()函数定义的模块,由于很多库不符合该规范,故requeryJS提供了 shim 配置属性来做到兼容
http://www.ruanyifeng.com/blog/2012/11/require_js.html
http://requirejs.org/docs/api.html
http://www.requirejs.cn/
requireJS基本配置相关的更多相关文章
- Hibernate 系列 04 - Hibernate 配置相关的类
引导目录: Hibernate 系列教程 目录 前言: 通过上一篇的增删改查小练习之后,咱们大概已经掌握了Hibernate的基本用法. 我们发现,在调用Hibernate API的过程中,虽然Hib ...
- linux网络配置相关命令、虚拟网络接口eth0:0
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...
- GBrowse配置相关资料
GBrowse配置相关资料(形状.颜色.配置.gff3) http://gmod.org/wiki/Glyphs_and_Glyph_Optionshttp://gmod.org/wiki/GBrow ...
- memcached的基本命令(安装、卸载、启动、配置相关)
memcached的基本命令(安装.卸载.启动.配置相关):-p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcac ...
- linux网络配置相关文件
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...
- Tomcat 参数配置相关
Tomcat参数配置相关 by:授客 QQ:1033553122 目的: 对Tomcat配置的点滴学习总结,主要目的在于分析Tomcat与性能相关的一些参数设置,以便性能调优时选择最优配置 环境: ...
- Nginx 参数配置相关
Nginx参数配置相关 by:授客 QQ:1033553122 目的: 对Nginx配置的点滴学习总结,主要目的在于分析Nginx与性能相关的一些参数设置,以便性能调优时选择最优配置 环境: $ ...
- 【树莓派】服务配置相关3:基于Ubuntu Server的服务配置
该文接续之前写过的两篇: [树莓派]服务配置相关 [树莓派]服务配置相关2:基于RPi Desktop的服务配置 这是我个人用来进行树莓派盒子安装配置的脚本,对于外部其他博友,可以部分参考,但不需要逐 ...
- 【树莓派】服务配置相关2:基于RPi Desktop的服务配置
该文接续之前写过的一篇:[树莓派]服务配置相关. 这是我个人用来进行树莓派盒子安装配置的脚本,对于外部其他博友,可以部分参考,但不需要逐个引用. 现在有一定更新,部分按如下脚本来操作: step1: ...
随机推荐
- mysql5.6 的st_distance 实现按照距离远近排序。
当前所处在的位置(113.858202 , 22.583819 ),需要查询我附近1000米内的小区,并安装由近到远的顺序排列 SELECT s.id,s.name,s.lng,s.lat, rou ...
- tornado 11 异步编程
tornado 11 异步编程 一.同步与异步 同步 #含义:指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系 #现象:有一个共同的时钟,按来的顺序一个一个处理 #直观感受:需要等待,效率 ...
- php:// 访问各个输入/输出流
相关 php.ini 配置 allow_url_fopen :on 默认开启 该选项为on便是激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象文件等. allow_url_inc ...
- C++_类和动态内存分配6-复习各种技术及队列模拟
知识点: 队列:是一种抽象的数据类型(Abstract Data Type),可以存储有序的项目序列. 新项目被添加在队尾,并可以删除队首的项目.队列有些像栈.栈是在同一端进行添加和删除.这使得栈是一 ...
- 118th LeetCode Weekly Contest Powerful Integers
Given two non-negative integers x and y, an integer is powerful if it is equal to x^i + y^j for some ...
- Codeforces - 915E 离散化区间覆盖
我一直以来都错认为离散化就是换个映射,其实还需要在离散值两端加上相差为1的值才能真正离散 不然看一下test3就知道 不过这个离散姿势太暴力,以至于我1000ms时限跑出998ms(其实是太懒没有删重 ...
- [转] 配置文件解析利器-Config库
[From] https://blog.csdn.net/zero__007/article/details/51493851 Typesafe的Config库,纯Java写成.零外部依赖.代码精简. ...
- PIE SDK彩色标准化融合
1.算法功能简介 色彩标准化融合对彩色图像和高分辨率图像进行数学合成,从而使图像得到锐化.色彩归一化变换也被称为能量分离变换( Energy Subdivision Transform),它使用来自融 ...
- mysql大数据表删除操作锁表,导致其他线程等待锁超时(Lock wait timeout exceeded; try restarting transaction;)
背景: 1.有一个定时任务,每10分钟入一批统计数据: 2.另一个定时任务,每天定时清理7天前数据,此定时任务每天01:18:00执行: 现象: 每天01:20:00的统计数据入库失败,异常信息如下, ...
- Centos 7 如何卸载docker
1.[root@localhost ~]# rpm -qa|grep docker docker.x86_64 2:1.12.6-16.el7.centos @extras docker-client ...