RequireJs入门(一)

RequireJS会让你以不同于往常的方式去写JavaScript。你将不再使用script标签在HTML中引入JS文件,以及不用通过script标签顺序去管理依赖关系。

当然也不会有阻塞(blocking)的情况发生。好,以一个简单示例开始。

新建一个目录,结构如下

目录r1下有index.html、jquery-1.7.2.js、main.js、require.js。require.js和jquery-1.7.2.js去各自官网下载即可。

index.html如下

<!doctype html>
<html><head><title>requirejs入门(一)</title><meta charset="utf-8"><script data-main="main" src="require.js"></script></head><body></body>
</html>

使用requirejs很简单,只需要在head中通过script标签引入它(实际上除了require.js,其它文件模块都不再使用script标签引入)。

细心的同学会发现script标签上了多了一个自定义属性:data-main="main",等号右边的main指的main.js。当然可以使用任意的名称。这个main指主模块或入口模块,好比c或java的主函数main。

main.js如下

require.config({paths: {jquery: 'jquery-1.7.2'}
});require(['jquery'], function($) {alert($().jquery);
});

main.js中就两个函数调用require.config和require。

require.config用来配置一些参数,它将影响到requirejs库的一些行为。

require.config的参数是一个JS对象,常用的配置有baseUrl,paths等。

这里配置了paths参数,使用模块名“jquery”,其实际文件路径jquery-1.7.2.js(后缀.js可以省略)。

我们知道jQuery从1.7后开始支持AMD规范,即如果jQuery作为一个AMD模块运行时,它的模块名是“jquery”。注意“jquery”是固定的,不能写“jQuery”或其它。

注:如果文件名“jquery-1.7.2.js”改为“jquery.js”就不必配置paths参数了。

jQuery中的支持AMD代码如下

if ( typeof define === "function" && define.amd && define.amd.jQuery ) {define( "jquery", [], function () { return jQuery; } );
}

我们知道jQuery最终向外暴露的是全局的jQuery和 $。如下

// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;

如果将jQuery应用在模块化开发时,其实可以不使用全局的,即可以不暴露出来。需要用到jQuery时使用require函数即可,

这里require函数的第一个参数是数组,数组中存放的是模块名(字符串类型),数组中的模块与回调函数的参数一一对应。这里的例子则只有一个模块“jquery”。

把目录r1放到apache或其它web服务器上,访问index.html。

网络请求如下

我们看到除了require.js外main.js和jquery-1.7.2.js也请求下来了。而它们正是通过requirejs请求的。

页面上会弹出jQuery的版本

posted on 2015-01-12 15:38 玲儿灵 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/jymz/p/4218527.html

RequireJs入门(一)相关推荐

  1. RequireJS入门(一) 转

    RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以 ...

  2. requirejs 入门【链接】

    http://www.tuicool.com/articles/jam2Anv 转载于:https://www.cnblogs.com/access520/p/5829286.html

  3. requireJS教程(一)

    requireJS下载:https://requirejs.org/ 一.requireJS作用 1)实现js文件的异步加载,避免网页失去响应: 2)管理模块之间的依赖性,便于代码的编写和维护.实现代 ...

  4. RequireJS和Backbone

    RequireJS API中文版: https://blog.csdn.net/sanxian_li/article/details/39394097 Require.js下载地址:https://g ...

  5. 前端网站资源精编!!

    前端网站资源精编!! 目录: 1-------- 走进前端 2-------- jQuery 3-------- CSS 4-------- Angularjs 5-------- ES6 6---- ...

  6. 学习web的多个连接网站地址

    https://segmentfault.com/a/1190000007062464#articleHeader7  原文链接 内容精简 资源这么多,多看看多学习再总结肯定是好的.多读读就算看重了不 ...

  7. 各大网站,欢迎大家收藏转发

    人整理来之不易请珍惜,如有错误请谅解,谢谢... 资源教程: 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2. ...

  8. 最全前端资源---快过来 最新鲜的资源这里都有

    如果您阅读之后,感觉有缺失:麻烦您告诉我 我进行补充.谢谢 综合类 综合类 地址 前端知识体系 前端知识体系 - naniJser - 博客园 前端知识结构 https://github.com/Ja ...

  9. 前端资源分享-只为更好前端

    一.团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾讯社交用户体验设计,简称ISUX,腾讯设计团队网站 CDC 腾讯用户 ...

最新文章

  1. 用ElasticSearch搭建自己的搜索和分析引擎
  2. |DataDirectory|的使用
  3. 单例模式(Singleton)
  4. 网络营销期间交换链接多会有更多网络营销的机会吗?
  5. linux管道阻塞代码,linux中的管道
  6. uestWrapper.getSession(HttpServletRequestWrapper.java:241) ~[tomcat-embed-core-9.0.13.jar:9.0.13]
  7. 让窗体获得焦点,一定会有您用到的时候
  8. mysql slowlog中querytime分析_技术分享 | Slow Query Log 使用详解
  9. java生成和读取keystore_java-如何以编程方式创建新的KeyStore?
  10. 实测解决:在此系统上禁止运行脚本。有关详细信息,请参阅 httpsgo.microsoft.comfwlinkLinkID=135170 中的 about_Execution_Policies。
  11. ai疾病风险因素识别_克服AI的“蠕动因素”
  12. 数据库sql中commit的重要性
  13. USART串口驱动SIM800L或者ESP8266
  14. Matlab-16QAM调制与解调 16-QAM星座点图 16-QAM在AWGN信道下的误码率和误比特率性能,仿真值与理论值曲线对比图
  15. 服务器故障与主板维修,服务器主板故障
  16. 林书豪055-阿联德比
  17. 二开免签支付修复版系统源码带YY通道
  18. 荣耀加冕,追梦不休 | 我的大学时光
  19. 强化学习系列(五):蒙特卡罗方法(Monte Carlo)
  20. python异常数据筛选_学习笔记(06):Python数据清理实践-数据过滤,06Python,清洗,实战,筛选...

热门文章

  1. CABasicAnimation 动画组合
  2. Exists and IN
  3. t-sql判断一个字符串是否为bigint的函数(全角数字需要判断为不合格)
  4. WinAPI: GetDoubleClickTime、SetDoubleClickTime - 获取与设置鼠标双击间隔时间
  5. 利用均值漂移实现图像分割的原理和OpenCV代码
  6. linux 生成字母序列,讲解在Linux平台中的Bash序列表达式(Sequence Expression)
  7. svn无法读取日志问题解决
  8. shell中echo使用单引号时输出单引号
  9. linux shell写服务,Linux shell编写系统服务脚本
  10. java mqtt paho_使用eclipse paho在java端实现MQTT消息的收发(客户端与服务端实例)...