SeaJS使用手记
官方文档:http://seajs.org/docs/#docs
官方改造模块文档:https://github.com/seajs/seajs/issues/971
现状:本来是一个NodeJS搭建的前端应用。
前端使用了React\Socket.io\jQuery等库。并且对应页面有页面自己的js。
改造方案:
1. 把React、Socket.io、jQuery等库改造成CMD模块
由于这些库都有对 AMD 和 CommonJS 的支持代码。因此只需要使用define来包裹这些代码就可以了。
define(function(require, exports, module) {
// code here ...
});
2. 引入Sea.js以及编写config文档
config文档的编写和我的文件结构有关,目前的js文件结构大概分成3th\react-bin\main\三个目录。分别是第三方库、自己编写的react组件、各个页面的入口文件
3. 编写入口文件 & use
入口文件以及自己的React组件、Class类皆改动成CMD模块。
对于类和React组件,则是把类名直接赋给module.exports。在调用的时候直接调用该方法即可,例如:
module.exports = function(){
React.render(
React.createElement(Blog, {url: "/admin/getList"}),
document.getElementById('blog')
);
}
调用:
var Blog = require(‘react/blog');
Blog();
对入口文件的编写,则是直接在文件中调用方法:
module.exports();
并且在各个页面的最下方use调用入口文件
seajs.use("./javascripts/main-page.js");