5分钟上手Sea.js
基本应用
导入Seajs库
- 去官网下载最新的seajs文件:https://seajs.github.io/seajs/docs/#downloads
- 在页尾引入seajs:
<script src="/site/script/sea.js"></script>
-
然后在它下面写模块的配置和入口。
// seajs 的简单配置 seajs.config({ base: "../sea-modules/", alias: { "jquery": "jquery/jquery/1.10.1/jquery.js" } }); // 加载入口模块 seajs.use("../static/hello/src/main");
目录结构
所有源码都存放在 GitHub 上:seajs/examples,目录结构为:
examples/ |-- sea-modules 存放 seajs、jquery 等文件,这也是模块的部署目录 |-- static 存放各个项目的 js、css 文件 | |-- hello | |-- lucky | `-- todo `-- app 存放 html 等文件 |-- hello.html |-- lucky.html `-- todo.html
我们从 hello.html
入手,来瞧瞧使用 Sea.js 如何组织代码。
在页面中加载模块
在 hello.html
页尾,通过 script
引入 sea.js
后,有一段配置代码:
// seajs 的简单配置seajs.config({ base: "../sea-modules/", alias: { "jquery": "jquery/jquery/1.10.1/jquery.js" }})// 加载入口模块seajs.use("../static/hello/src/main")
sea.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 = ...});
上面就是 Sea.js 推荐的 CMD 模块书写格式。如果你有使用过 Node.js,一切都很自然。
构建部署
对于正式项目,在发布上线前,还需要对源码进行压缩、合并等操作。
这可以通过 spm 或 Grunt 等工具来实现。简明教程请参考:构建工具
结束语
怎么样,Sea.js 入门真的只需 5 分钟吧:)
使用 Sea.js,可以规范模块的书写格式、能自动处理模块的依赖,还非常有助于代码组织、开发调试和性能优化。Sea.js 期待能给你提供简单、极致的模块化开发体验。我相信,你会爱上她的。
若喜欢,可查看更多例子:seajs/examples
若已爱上,请继续阅读:使用文档
注意事项
<script>
标签加个id,可以快速访问到这个标签(我是在模块合并时用到它的)seajs.use()
在.html页面上写js时如果有多个模块依赖,需要使用暴露出来的接口就要让参数与它一一对应。