seaj入门:seajs的导入和初始化使用
1:导入 seajs插件文件
下载地址:http://seajs.org/docs/#downloads
2: seajs 的简单配置 config.js
cofig.js:
var publishVersion = '@version@';
var version = '20160115';
if(publishVersion.indexOf('@') < 0) {
version = publishVersion;
}
//base为seajs的所在路劲的父级路劲,,可去掉base不写,就会默认为当前seajs所在路劲为基础路劲,seajs的 路径是相对于前面引入的seajs文件的 。
//写法1:
seajs.config({
base: "http://127.0.0.1:8020/validate/",
alias: {
"jquery": "jquery/jquery.js",
"test": "jquery/test.js"
},
map: [
[/^(.*\.(?:css|js))(.*)$/i, '$1?v=' + version]
]
});
//写法二:相对于引入的seajs文件的路劲
seajs.config({
alias: {
"jquery": "jquery/jquery.js",
"test": "jquery/test.js"
},
map: [
[/^(.*\.(?:css|js))(.*)$/i, '$1?v=' + version]
]
});
2:// 加载入口模块
<script type="text/javascript">
seajs.use(["jquery/test"],function(){
})
</script>
//test.js
define(function(require){
require('jquery');
})
function init(){
alert("我是方法")
}
//加载,需要加载什么文件(模块加载器)就在这里引入。 sea.js 在下载完成后,会自动加载入口模块。
//导入seajs.js同级的abc文件夹下的test.js模块的(后缀名可略去不写)
seajs.use("jquery/test");
加载单个依赖
//加载模块 test,并在加载完成时,执行指```
seajs.use('jquery/test', function() {
init();
});
加载多个依赖
//并发加载模块 test 和模块test1,并在都加载完成时,执行指定回调
seajs.use(['jquery/test', 'jquery/test1'], function() {
init();
});
3:模块开发
这里才是重点,其实也很简单就是一个书写规范(CMD)而已。
// 所有模块都通过 define 来定义
define(function(require, exports, module) {
// 通过 require 引入依赖
var $ = require('jquery');
var Spinning = require('./spinning');
// 通过 exports 对外提供接口
exports.doSomething = ...
// 或者通过 module.exports 提供整个接口
module.exports = ...
//直接引入:
require('jquery');
});