以前经常听到Seajs,但是没深入了解过,不清楚到底是用做哪个方面,后来调组到M站做开发,发现项目用到了Seajs,便去了解下
SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。————来自百度百科
也就是项目中模块化开发的主力军
不像其他的JavaScript框架,Seajs仅仅是实现JavaScript的模块化加载,解决各个JavaScript文件严重混乱的问题,使开发变得更简单。
目前Seajs兼容性良好,可以运行在各个渠道
下面是Seajs的使用方法:
1.首先在页面上通过script标签将Seajs引入,并加上配置代码:
// seajs 的简单配置
seajs.config({
base: "../sea-modules/",
alias: {
"jquery": "jquery/jquery/1.10.1/jquery.js"
}
})
// 加载入口模块
seajs.use("../static/hello/src/main")
sea.js
在下载完成后,会自动加载入口模块
2. 若文件中有两个相关的js文件,如spinning.js
和 main.js,则通过以下代码加载
// 所有模块都通过 define 来定义
define(function(require, exports, module) {
// 通过 require 引入依赖
var $ = require('jquery');
var Spinning = require('./spinning');
// 通过 exports 对外提供接口
exports.doSomething = ...
// 或者通过 module.exports 提供整个接口
module.exports = ...
});
这样便将相关js文件加载 进去,便可直接进行代码的逻辑开发,而不用在主页面中通过script标签来引入很多js文件了
参考链接:http://seajs.org/docs/
最后附上Seajs的开发者玉伯在知乎上的回答:关于Seajs和requirejs哪个更好用
https://www.zhihu.com/question/20342350/answer/14828786
by 新手小白的记录