SeaJS学习(一)

来源:互联网 发布:数据库设计思路与原则 编辑:程序博客网 时间:2024/06/05 07:17

SeaJS学习(一)

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

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

       一、seajs是什么

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

       二、特点

      (1)一个模块一个文件

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

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

经常使用的 API 只有 defineexportsrequirerequire.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等路径问题:
  /*          *  ./相对于当前目录     *  ../相对于上一个目录     *  /相对于根目录    */
分类: 前端那些事

0 0
原创粉丝点击