使用 Sea.js 进行模块化开发还能够带来非常多优点:

  1. 模块的版本号管理。

    通过别名等配置,配合构建工具,能够比較轻松地实现模块的版本号管理。

  2. 提高可维护性。模块化能够让每一个文件的职责单一,很有利于代码的维护。Sea.js 还提供了 nocache、debug 等插件,拥有在线调试等功能。能比較明显地提升效率。

  3. 前端性能优化。

    Sea.js 通过异步载入模块,这对页面性能非常故意。

    Sea.js 还提供了 combo、flush 等插件,配合服务端,能够非常好地对页面性能进行调优。

  4. 跨环境共享模块。

    CMD 模块定义规范与 Node.js 的模块规范非常相近。通过 Sea.js 的 Node.js 版本号。能够非常方便实现模块的跨server和浏览器共享。



seajs的文件结构 :


以上步骤完毕,接下来演示一个怎样简单的使用seajs

第一步:

define

用来定义模块。Sea.js 推崇一个模块一个文件,遵循统一的写法:

define(function(require,exports,module){

	  var _msg = 'not set msg!';
exports.setMsg = function(msg){
_msg = msg;
}; exports.getMsg = function(){
return _msg;
};
});

第一个參数:require用来获取指定的接口,注意require仅仅接受字符串直接是量作为參数

第二个參数:exports用来在模块内部对外部提供接口
第三个參数:module与exports类似,用来在模块内部对外提供接口

第二步:
   当模块定义好了。那么就把刚才配置好的模块配置入seajs。

seajs.config

seajs.config({
alias:{
'init':"modul/init.js"
}
});

init表示模块的id是自己定义的,“modul/init.js”是模块的相对路径能够省略js。注意:模块的绝对路径是seajs-2.3.0/dist/modul/init.js


seajs.use

用来在页面中载入一个或多个模块。

seajs.use("init", function(init){
//设置值
init.setMsg('Hello World');
alert(init.getMsg());
});

效果:

  
HTML页面的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- 导入seajs-2.3.0这个文件 -->
<script type="text/javascript" src="seajs-2.3.0/dist/sea.js"></script> <script type="text/javascript">
//配置seajs
seajs.config({
alias:{
'init':"modul/init.js"
}
}); //使用seajs
seajs.use("init", function(init){
//设置值
init.setMsg('Hello World');
alert(init.getMsg());
});
</script>
</head>
<body>
<h1>Test seajs</h1> </body>
</html>


seajs入门使用的更多相关文章

  1. SeaJS入门教程系列之使用SeaJS(二)

    SeaJS入门教程系列之使用SeaJS(二) 作者: 字体:[增加 减小] 类型:转载 时间:2014-03-03我要评论 这篇文章主要介绍了SeaJS入门教程系列之使用SeaJS,着重介绍了SeaJ ...

  2. seajs 入门

    最近想搞搞JS模块化, 读到了园子里的一篇好文:  http://www.cnblogs.com/lvdabao/p/js-modules-develop.html 看里面讲seajs不错, 于是想学 ...

  3. SeaJS入门篇一 怎么使用query

    研究了2个多小时,终于搞定引入jq 1.写个html页面 <h1>ddddddddd</h1> <script src='/Scripts/dist/sea.js'> ...

  4. SeaJS入门教程系列之SeaJS介绍(一)

    前言SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制.与jQuery等JavaScript框架不同,SeaJS不会扩展封装 ...

  5. SeaJS入门教程系列之完整示例(三)

    一个完整的例子上文说了那么多,知识点比较分散,所以最后我打算用一个完整的SeaJS例子把这些知识点串起来,方便朋友们归纳回顾.这个例子包含如下文件: 1.index.html——主页面.2.sea.j ...

  6. SeaJS入门

    Sea.js是一种模块加载工具 官网:http://seajs.org/docs/ 使用步骤: 1.下载sea.js 2.引入sea.js 3.加入配置代码 // seajs 的简单配置 seajs. ...

  7. 模块化开发(二)--- seaJs入门学习

    SeaJS是一个基于CMD模块定义规范实现一个模块系统加载器   [CMD规范](https://github.com/cmdjs/specification/blob/master/draft/mo ...

  8. grunt和seajs入门之--提取依赖、合并、压缩js文件

    一.安装grunt: npm install -g grunt-cli //安装 npm install grunt –save-dev //安装Grunt最新版本到项目目录中,并将其添加到devDe ...

  9. seaJs模块化开发简单入门

    随着前端技术的日益成熟,功能越来越丰富强大,规范也越来越健全,在这样的背景环境下很快便有了CommonJs.AMD.CMD等一系列规范,使前端发开趋向模块化.规范化.CMD模块化的代表之一就是国内开发 ...

随机推荐

  1. mybatis-paginator对SqlServer分页实现

    package com.github.miemiedev.mybatis.paginator.dialect; import com.github.miemiedev.mybatis.paginato ...

  2. HTML5——loading

    https://www.cnblogs.com/wangmeijian/p/4449150.html https://www.cnblogs.com/yunser/p/canvas-baidu-loa ...

  3. PostgreSQL 数据库错误状态编号解释[附带列表

    PostgreSQL 服务器发出的所有消息都赋予了五个字符的错误代码, 这些代码遵循 SQL 的 "SQLSTATE" 代码的习惯.需要知道发生了什么错误条件的应用通常应该测试错误 ...

  4. K近邻法(K-Nearest Neighbor,KNN)

    KNN是一种基本分类与回归方法,本篇只总结分类问题中的KNN. 输入:样本的特征向量,对应于特征空间中的点 输出:样本的类别,可取多类 算法思想:给定一个样本类别已知的训练数据集,对于新样本,根据其K ...

  5. 迅为IMX6Q四核核心板商业级|工业级|IMX6Plus版本|IMX6DL双核核心板

    IMX6Q处理器:兼容单核,双核,工业级,汽车级,IMX6Q最新Plus版本,共用同一底板,高端产品无忧. i.MX6系列针对消费电子.工业控制和汽车应用领域,它将ARM Cortex-A9架构的高功 ...

  6. 习水医院12C RAC 数据库安装文档

        环境介绍 OS: Oracle Enterprise Linux 6.4 (For RAC Nodes) DB: GI and Database 12.1.0.2 所需介质 p17694377 ...

  7. Android学习——蓝牙通讯

    蓝牙蓝牙,是一种支持设备短距离通信(一般10m内,且无阻隔媒介)的无线电技术.能在包括移动电话.PDA.无线耳机.笔记本电脑等众多设备之间进行无线信息交换.利用“蓝牙”技术,能够有效的简化移动通信终端 ...

  8. createuser - 定义一个新的 PostgreSQL 用户帐户

    SYNOPSIS createuser [ option...] [ username] DESCRIPTION 描述 createuser 创建一个新的 PostgreSQL 用户.只有超级用户(在 ...

  9. Hibernate修改操作 删除操作 查询操作 增加操作 增删改查 Hibernate增删查改语句

    我用的数据库是MySQL,实体类叫User public class User { private Integer uid; private String username; private Stri ...

  10. 阿里云部署flask

    https://www.cnblogs.com/Ray-liang/p/4173923.html