关于seajs
提供简单、极致的模块化开发体验。
alias:
别名配置,配置后可在模块中使用require调用 require(’jqurey’);
定义alias–>seajs.config({alias:{‘jquery’ : ‘jquery/jquery/1.10.1/jquery’}})
调用jQuery–>define(function(require, exports, module){//引用jq var $ = require(‘jquery’)});
paths:
设置路径,方便跨目录调用。通过灵活的设置path可以再不影响base的情况下制定到某个目录
定义paths–>seajs.config({paths:{‘gallery’: ‘https://a.alipayojects.com/gallery'},{'alias':'gallery/underscore'}})
调用 define(function(require, exporst, module){var _ = require(‘underscore’)})
vars:
变量配置。有些场景下,模块路径在运行时才能确定,这时候可以用vars变量来配置。在模块中用{key}来表示变量。
定义vars–> seajs.config({vars:{‘local’:’zh-cn’}})
调用 define(function(require, exports, module){var lang = require(‘./i18n/{local}.js’)})
function:
用来在页面中加载一个或多个模块。
加载一个模块 seajs.use(‘./a’);
加载一个模块,在加载完成时,执行回调 seajs.use(‘./a’, function(a){a.dosomething()})
加载多个模块,在加载完成时,执行回调seajs.use([‘./a’,’./b’],function(a,b){a.dosomething();b.dosomething})
注意:seajs.use与DOM ready事件没有任何联系。如果某些操作要确保在DOM ready后执行,需要使用jquery等类库来保证
比如:seajs.use([‘jquery’, ‘./main’], function($, main){$.ready(function(){main.init()})})
seajs.data可以查看seajs所有配置以及一些内部变量
关于路径
seajs除了相对与顶级标识之外,还可以使用普通路径来加载模块。就到当前页面的脚本分析
//sea.js的路径,即 base 路径,相对于当前页面
1 | <script type="text/javascript"> |
开始的时候会觉得Seajs的路径有点不习惯,由其是Base路径。切记Base路径就是sea.js的那个文件的上级路径,然后所有顶级标识,相对标识都是相对于这个Base来调整。