版权声明:本文为博主原创文章,未经博主允许不得转载。
之前对模块有过介绍,一个模块对应一个js文件,而载入模块时一般都是提供一个字符串参数告诉载入函数需要的模块,所以就需要有一套从字符串标识到实际模块所在文件路径的解析算法。
SeaJS支持如下几种方式:
第一种:绝对路径--给出js文件的绝对路径
第二种:相对路径--用相对调用载入函数所在js文件的相对地址寻找模块
第三种:通过全局变量来匹配相对路径:相对SeaJS全局配置中的“base”来寻址(后面文章会介绍到)
SeaJS提供了三种载入的方式:seajs.use,require和require.async
第一种:seajs.use
seajs.use主要用于载入入口模块。入口模块相当于JAVA程序的main函数,同时也是整个模块依赖树的根。
这种方式有几种写法:
一般seajs.use只用在页面载入入口模块,SeaJS会顺着入口模块解析所有依赖模块并将它们加载。如果入口模块只有一个,也可以通过给引入sea.js的script标签加入”data-main”属性来省略seajs.use。
来个小实例来说明一下:
第二种:require
require是SeaJS主要的模块加载方法,当在一个模块中需要用到其它模块时一般用require加载:ar a = require('a'); //引入a模块
第三种:require.async
之前的require方式是一次把所有依赖的JS文件都加载进来,如果想什么时候用到什么时候加载的话就会用这种方式,这种方式效率比require高一些。
通过上面的介绍,应该对SeaJS的模块载入和引用有所了解了,其实者通过这几篇的介绍会发现SeaJS的模块化编程思想和它带给开发人员的简单易用的特点。下篇博客介绍一下SeaJS的全局配置。
-
顶
-
踩
-
猜你在找
6楼 米老师2014-06-21 13:10发表 [回复]-
-
我喜欢成系列的文章,这样你的思考是完整的,是有高度的。
5楼 haogting2014-06-20 21:23发表 [回复]-
-
还没有用到,先留个整体的印象!
4楼 张江江2014-06-02 10:05发表 [回复]-
-
SeaJS 全套教程来了,来学习
3楼 lmdcszh2014-06-01 22:19发表 [回复]-
-
三种加载的方法:seajs.use,require和require.async 跟着学习
2楼 sunqing03162014-06-01 16:41发表 [回复]-
-
js的一种吗?
1楼 李社河2014-05-29 12:48发表 [回复]-
-
只能熟悉一下词语啦,先