require JS,requiredjs
require js(1)-snandy-博客花园简介
RequireJS简介(一)RequireJS由詹姆斯伯克创立,他也是AMD specification的创始人。
RequireJS将让您以不同于平常的方式编写JavaScript。
您将不再使用脚本标记将JS文件引入HTML,并且您也不必通过脚本标记顺序来管理依赖关系。
当然不会有堵。好了,先说一个简单的例子。
使用以下结构创建一个新目录
r1目录下有index.html、jquery-1.7.2.js、main.js和require.js。Require.js和jquery-1.7.2.js可以从各自的官网下载。
Index.html如下
?1234567891011 !doctype html html headtitle介绍require js(I)/title metacarset= utf-8 script data-main= main src= require.js /script/head body/body/使用html requirejs非常简单,只需要通过head中的script标签介绍就可以了(其实除了require . js,其他文件模块都不再通过script标签介绍了)。
细心的同学会发现脚本标签中添加了一个自定义属性:data-main=main ,等号右边的main指的是main.js当然任何名字都可以。这里指的是主模块或者门户模块,比如C或者java的主函数。
Main.js如下
?123456789 require . config({路径:{ 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支持的代码如下
?123 if(type of define=== function define . amd define . amd . jQuery){ define( jQuery ,[],function(){ return jQuery;} );}我们知道jQuery最终公开了全局jQuery和$。如下
?12//向全局objectwindow.jQuery=window公开jQuery。$=jQuery如果将jQuery应用于模块化开发,则不需要使用全局,也就是说,不需要暴露全局。需要jQuery时使用require函数,
这里require函数的第一个参数是一个数组,数组中存储了模块名(字符串类型),数组中的模块与回调函数的参数一一对应。这里的例子只有一个模块“jquery”。
将目录r1放在apache或其他web服务器上,并访问index.html。
网络请求如下
我们看到除了require.js,还请求了main.js和jquery-1.7.2.js。它们是通过requirejs请求的。
页面上将弹出jQuery的版本。
这是一个非常简单的例子,使用requirejs动态加载jquery。使用了以下知识点
1.数据主属性
2.require.config方法
3.需要功能
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。