最近被调到一个新的项目组,做web开发,是一个要上线的产品。MVC架构,对前端要求比较高,对于我这样一个三脚猫功夫的js小鸟来说确实是一个挑战。

废话少说,直插主题。项目需要用到seajs,遂学之…

       一、seajs是什么

      一个适用于 Web 浏览器端的模块加载器。只是实现JavaScript的模块化及按模块加载,与jquery不同。

       二、特点

      (1)一个模块一个文件

      (2)使用define()定义模块

      (3)使用use异步加载模块

经常使用的 API 只有 define, exports, require, require.async 这四个。

define    define(factory)

factory可以是对象、字符串、函数。详细讲解请链https://github.com/seajs/seajs/issues/242

这里我只介绍factory是函数的情况。

define(function(require, exports, module) {//requireexportsmodule这三个参数是默认传入的,必须是这三个单词,不能更改。
  // The module code goes here

});
a.require 是一个方法,用来获取其他模块提供的接口。如:var TabPanel = require("./TabPanel");
而TabPanel 可以看出是文件TabPanel.js的一个对象。可以通过这个对象获取该对象中共享的函数或者变量。
b.exports是一个对象,用来向外提供模块接口。
通过他可以把模块内的方法等共享出去。如:
define(function(require, exports) {
  // snip...
  exports.foo = 'bar';
  exports.doSomething = function() {};
});
c.module 是一个对象,上面存储了与当前模块相关联的一些属性和方法。
他有自己的属性和方法如:module.id,module.uri,module.parent等


路径问题:
  /*     
* ./相对于当前目录
* ../相对于上一个目录
* /相对于根目录
*/
posted on 2012-08-01 18:07  易成波  阅读(5617)  评论(2编辑  收藏  举报