Seajs笔记

SeaJS 是一个适用于 Web 浏览器端的模块加载器。使用 SeaJS,可以更好地组织 JavaScript 代码。

在 SeaJS 的世界里,一个文件就是一个模块。所有模块都遵循 CMD 规范,可以像在 Node 环境中一样来书写模块代码:

define(function(require, exports, module) {
  var $ = require(‘jquery‘);
  exports.sayHello = function() {
    $(‘#hello‘).toggle(‘slow‘);
  };
});

将上面的代码保存为 hello.js,然后就可以通过 SeaJS 来加载使用了:

seajs.config({
  alias: {
    ‘jquery‘: ‘http://modules.seajs.org/jquery/1.7.2/jquery.js‘
  }
});

seajs.use([‘./hello‘, ‘jquery‘], function(hello, $) {
  $(‘#box‘).click(hello.sayHello);
});

SeaJS的优势:

  • 简单一致的模块格式。
  • 依赖的自动管理。
  • 脚本的异步并行加载。
  • 丰富的插件。
  • 友好的调试。

SeaJS 带来的最大好处是:提升代码的可维护性。如果一个网站的 JS 文件超过 3 个,就适合用 SeaJS 来组织和维护代码。涉及的 JS 文件越多,SeaJS 就越适合。

学习SeaJS 可以读读下面的文档:

遇到问题时,可以到 SeaJS 社区寻找帮助。

SeaJS 兼容所有 PC 和 Mobile 端的主流浏览器:

IE 5.5+           ?
Chrome 3+         ?
Firefox 2+        ?
Safari 3.2+       ?
Opera 10+         ?
时间: 2024-10-29 10:46:39

Seajs笔记的相关文章

seajs 笔记

第一步:全局配置的配置对象configseajs.config = function(configData)如:var configData = {    base: 'path/lib/',    alias: {},    charset: 'utf-8',    timeout: 20000,    debug: false} 第二步:定义模块函数defineModule.define = function (id, deps, factory) 1.id——id是一个模块的标识字符串,2

seajs学习笔记一

一.模块化管理的重要性     1.解决冲突问题 2.解决性能问题 3.解决依赖问题 二.为何选择seajs 1.有完整的中文文档 2.符合中国国情 三.seajs如何使用 1.引入seajs库文件 2.如何变成模块 define /*引入好seajs后如何将js文件变成模块*/ define(function(require,exports,module){ /*require,exports,module-seajs规定写法不可修改,变值,重命名*/ /*exports:对外接口 */ fu

seajs 3.0.0 源码阅读笔记

写笔记的时候才注意到我看的源代码是 3.0.0 的,但是官方发布的最新版本是 2.3.0.相信大部分是相同的,所以先把这个记完,再看一次 2.3.0 的代码. seajs 的源代码可以在 github上获取.seajs 在文档"如何参与开发"中说明了阅读顺序,当然为了便于阅读,在了解了目录结构之后,我直接阅读了合并好的 sea-debug.js. 整个seajs采用的是2空格缩进,避免分号的写法,我不是很习惯,但不影响阅读. 文件/目录结构 文档中各个源文件所包含的内容大致如下: in

seaJs学习笔记2 – seaJs组建库的使用

原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最近在学习seaJs和AngualrJs的指令和服务,感觉angularjs实在太强大了,好吧,步入主题,今天在深入了解seaJs的时候发现了一款神器,不过这款神奇貌似没有更新和维护了,但我测试了一下,还是可以用的. 这款神奇就是SeaJS 组件库 ,Sea.js 是一个适用于 Web 浏览器端的模块

seajs的模块化开发--实践笔记

2017-04-02 SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制.有效的解决复杂项目中命名冲突.依赖.性能等问题. SeaJS中使用define函数定义一个模块.define可以接收三个参数:require, exports, module. require--模块加载函数,用于记载依赖模块. exports--接口点,将数据或方法定义在其上则将其暴露给外部调用. module--模块的元数据. SeaJS的基本用法有以下

seajs学习笔记(基础)

一:前端开发中常遇到的问题       如果我们的网站简单的时候,结构上也许不会有什么问题,但是如果我们的网站越来复杂的时候(比如功能越来越多的时候,加入项目的人越来越多的时候),我们书写的代码就会遇到下面的两个问题: 1. 恼人的命名冲突 比如我们多人开发一个项目,事先由我自己写好了一个共公的组件库common.js供大家调用,里面的包括 function tab(){ 实现代码: }; function drag(){ 实现代码: }; function dialog(){ 实现代码: };

seajs 学习笔记

seajs的作者是玉伯,具体好处优点等详见官方网址 介绍 1 模块定义define define(function(require,exports,module){ //require 引入需要的模块如jquery等 //var $ = require('./jquery'); //exports可以把方法或属性暴露给外部 exports.name = 'hi'; exports.hi = function(){ alert('hello'); } //module提供了模块信息 }); 2 使

CMD规范学习笔记——基于SEAJS实现

CMD(Common Module Definition):该规范明确了模块的书写格式和基本交互规则.通常一个模块就是一个JS文件. 通过define关键字来定义模块,最基本的格式为: define(factory);//这里的define是一个全局函数,factory可以是函数或者合法的值. 一.factory为对象: define({'foo':'foo'});//factory为对象,表示该模块的接口为对象. 例子: html <!DOCTYPE html> <html> &

seajs 源码阅读笔记

代码概览 src目录文件列表如下: 代码以模块化的方式来组织,构建的时候会合并为一个js文件(sea.js 或 sea-debug.js),其中,intro.js和 outro.js 分别是这个js文件的头部和尾部. 如果习惯看一个文件的代码,可以直接阅读dist目录下的 sea-debug.js , 这个是 所有模块合并后的代码 . sea.js 记录了当前的版本,“@VERSION”在构建的时候应该会被替换为具体的版本号. util 开头的文件是一些工具方法,比如 路径的转换.语法的增强.事