Skip to content
雨夜带刀 edited this page Sep 9, 2013 · 5 revisions

baseUrl 基础路径

基础路径分为全局基础路径和局部基础路径两种。

全局基础路径是 seed.js 加载时所在的路径,使用 seed.use 加载模块时,将基于全局基础路径来解析相对标识,全局基础路径可以使用 seed.config 方法来进行配置。基础路径的配置可以是绝对基础路径,也可以是相对基础路径,相对的基础路径将以 HTML 页面所在的路径为基础路径进一步解析。无论是绝对基础路径还是相对基础路径,都要以 “/” 作为结尾,如果想设置 HTML页面所在的路径为基础路径可以配置 ./ 为基础路径。

全局基础路径除了使用 seed.config 来进行配置以外,另外新增了一个更简便的方法。只需在加载 seed.js 文件的时候在其 script 标签上使用 data-baseurl 这个自定义属性来设置全局基础路径即可。

<script src="http://example.com/lib/seed.js" data-main="hello.js" data-baseurl="/static/js/"></script>

局部基础路径是用于加载依赖模块,就是被依赖模块的路径。假如 a 模块依赖 b 模块,那么在解析 b 模块的相对标识时,将以 a 模块的路径为作为基础路径来解析,不会受全局基础路径的影响,这样会更方便,局部基础路径是不可配置的。

模块标识

模块标识分为相对标识和绝对标识两种。

相对标识是根据基础路径来进行解析的。假如基础路径为 http://example.com/js/

模块标识 hello 解析的模块路径就是 http://example.com/js/hello.js,对应的模块名既是 hello

模块标识 ajax/xhr 解析的模块路径是 http://example.com/js/ajax/xhr.js,对应的模块名就是 xhr

如果模块标识是以 ../ 开头,如 ../core,那么解析的模块路径是 http://example.com/core.js,对应的模块名就是 core

如果模块标识以 / 开头,如 /static/js/core,那么解析的模块路径是 http://example.com/stitic/js/core.js,对应的模块名就是 core

绝对标识就是普通的 url,可以是 http 协议,也可以是 file 协议,绝对标识不会受到基础路径的影响,如 http://example.com/test.js 的路径就是其自身,模块名就是 test。

目前支持 JS 和 CSS 两种类型的模块,JS 模块为了简便,模块标识可以省略 .js 的后缀,CSS 模块为了区分,模块标识一定要带上 .css 的后缀,模块标识也允许添加参数,如 hello.js?v20121202,这对于刷新缓存很重要。


Clone this wiki locally