之前常常听到Seajs,可是没深刻了解过,不清楚究竟是用作哪一个方面,后来调组到M站作开发,发现项目用到了Seajs,便去了解下jquery
SeaJS是一个遵循CMD规范的JavaScript模块加载框架,能够实现JavaScript的模块化开发及加载机制。————来自百度百科框架
也就是项目中模块化开发的主力军模块化
不像其余的JavaScript框架,Seajs仅仅是实现JavaScript的模块化加载,解决各个JavaScript文件严重混乱的问题,使开发变得更简单。requirejs
目前Seajs兼容性良好,能够运行在各个渠道ui
下面是Seajs的使用方法:spa
1.首先在页面上经过script标签将Seajs引入,并加上配置代码:code
// 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,则经过如下代码加载
blog
// 全部模块都经过 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 新手小白的记录