RequireJS学习(一)

RequireJS出现的目的主要是为了鼓励代码的模块化。相对于正常页面的一堆script标签,RequireJS只需要在页面加载一个JS文件,即requirejs的文件,同时设置data-main属性为函数入口的JS文件,在作为入口的JS文件中异步加载其他的JS文件。

RequireJS是基于AMD规范的实现。所以首先来学习一下AMD规范吧。AMD全称是异步模块定义规范,和AMD处理器并没有什么关系。。AMD规范只定义了一个API:define(),它是一个全局变量,函数描述如下:

define(id?, dependencies?, factory);

其中id和dependencies都是可选的,下面解释一下这3个参数

1、id:代表定义的模块的名字。是字符串。如果提供了该参数,则该参数一定是顶级的和绝对的(不允许相对名字--不知道是不是指不能使用相对路径来命名的意思?不过感觉一般也不会这么命名。。)如果没有提供的话,就默认为脚本的文件名

2、dependencies:依赖。是个数组。即加载该模块前需要加载完成的其他模块。数组里面模块的顺序和第三个参数factory函数里面参数的顺序是对应的。如果没有提供该参数,则默认为["require", "exports", "module"]。

3、factory:工厂方法。为函数或对象。如果是对象,则该对象就是该模块要输出的对象。若为函数,则该函数只会被执行一次。如果函数返回一个值,则应被设为模块的输出值。

具体例子可以参考这里:https://github.com/amdjs/amdjs-api/wiki/AMD-(%E4%B8%AD%E6%96%87%E7%89%88)或者在网上自己去寻找教程。

时间: 2024-08-27 13:07:19

RequireJS学习(一)的相关文章

RequireJS学习笔记(转)

前言 进入移动前端是很不错的选择,这块也是我希望的道路,但是不熟悉啊... 现在项目用的是require+backbone,整个框架被封装了一次,今天看了代码搞不清楚,觉得应该先从源头抓起,所以再看看require了. 上午是到处搜集的资料,下午我们来看原生的API吧: http://www.requirejs.org/docs/api.html#config PS:我英语很烂,各位将就着看吧,看到红色就说明老夫拿不准...... 加载javascript文件 RequireJS采用不同的方法来

RequireJS学习资料汇总

入门系列 [1]阮一峰 RequireJS用法 [2]RequireJS入门指南 文档系列 [1]RequireJS中文文档 [2]RequireJS英文文档 代码实践

requireJS学习笔记

main.js requirejs.config({ baseUrl: 'scripts/lib',     paths: { app: '../app',             style:'../../style',             resources:'../../resources',             css:'require-css/css',             jquery: 'jquery', formBootstrap:'formValidation/di

requireJS学习笔记一

requireJS简介 requireJS是一个非常小巧的javascript模块载入框架,很好的实现了AMD规范. requireJS解决了以下问题: 1.异步加载js,防止js加载阻塞页面渲染: 2.管理js模块之间的相互依赖关系,便于代码维护. data-main入口 requireJS在加载过程中会检测script标签的data-main属性: 1 <script data-main="js/app" src="js/require.js">&l

requireJS学习

* 参考地址:require.js学习总结 1,入口函数 <script data-main="js/main" src="js/require-jquery.js"></script> 2,require.js的配置 在data-main指定的主文件中,通过require.config来配置,并加载其他js模块 require.config({ baseUrl: 'js/', paths: { "backbone": &

Requirejs学习随笔

1.Requirejs是一个压缩完只有14K的javascript模块加载框架 2.通过一个个script标签导入js文件已经过时 3.Requirejs的好处 a.防止js阻塞页面渲染 b.使用程序调用加载js,防止页面上出现一大串引入js文件的丑陋代码场景 4.Requirejs会使用三个变量:define.require.requirejs define: 用来定义一个模块 require:加载依赖模块,并执行加载完后的回调函数 5. <!DOCTYPE html> <head&g

requirejs学习博客址分享

1. http://blog.jobbole.com/30046/ 2. http://www.requirejs.cn/ 3. http://www.ruanyifeng.com/blog/2012/11/require_js.html

requireJS目录

前言 对于像我这种requireJS初学者而言,requireJS最难理解的部分应该是它的路径问题.晚上随便折腾了一下,算是稍微理清了这个目录问题吧. requireJS学习网址:requireJS中文网 requireJS英文网 requireJS简介 随着前端代码量的日益庞大和复杂的结构,以及越来越多框架的出现,如何有效的管理你的代码,已经成为一个团队亟待解决的问题.而RequireJS的目标是鼓励代码的模块化,它使用了不同于传统script标签的脚本加载步骤.可以用它来加速.优化代码,但其

requireJS文件夹

前言 对于像我这样的requireJS刚開始学习的人而言,requireJS最难理解的部分应该是它的路径问题.晚上随便折腾了一下,算是略微理清了这个文件夹问题吧. requireJS学习网址:requireJS中文网 requireJS英文网 requireJS简单介绍 随着前端代码量的日益庞大和复杂的结构,以及越来越多框架的出现.怎样有效的管理你的代码,已经成为一个团队亟待解决的问题.而RequireJS的目标是鼓舞代码的模块化,它使用了不同于传统script标签的脚本载入步骤. 能够用它来加