seaJs 使用
开始使用seajs的时候折磨了我好一阵。光是各种概念就让新手难理解。现在弄清楚了,上个实践以备忘。目录结构如图。

1.文件 sea.html main.js a.js b.js c.js 最后还要一个seajs,其中main.js是入口文件,a.js b.js c.js 都是模块文件(注意模块文件是怎么定义的,要注重规范哟)
sea.html 的内容
<!DOCTYPE html>
<html lang="zh-CN"> <head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,initial-scale=1" />
<link href="http://cdn.bootcss.com/lightgallery/1.1.0/css/lightGallery.css" rel="stylesheet">
</head> <body>
seajs学习
</body>
<script src="../js/sea.js" ></script>
<script src="../js/main.js"></script>
</html>
main.js 的内容
console.log("this is main.js");
seajs.config({
/*这里是做配置*/
/* base: "../res/",
alias: {
"jquery": "js/jquery-2.1.4.min",
"lightGallery":"js/lightGallery",
"a":"js/a",
}*/
});
seajs.use("a",function(main){
main.a_fun();
});
a.js的内容(注意模块的定义格式)
define(function(require, exports, module) {
console.log("this is a.js");
var b = require("./b");//这里就是依赖,看看怎么写的
exports.a_fun = function() {
console.log("这是a.js暴露的接口");
}
//调用b的接口
b.b_fun();
})
b.js的内容
define(function(require, exports, module) {
console.log("this is b.js");
var c = require("./c");
//暴露接口给被依赖者
exports.b_fun = function() {
console.log("这是b.js暴露的接口");
}
c.c_fun();
})
c.js的内容
define(function(require, exports, module){
console.log("this is c.js");
exports.c_fun=function(){
console.log("这是c.js暴露的接口");
}
})
2.在sea.html中引入sea.js 和main.js(这相当于c语言的main函数,程序的入口文件,通过依赖关系找到所有需要的文件);
3.运行sea.html看看控制台效果

4.就这么简单,跟着我的走一遍,你再去看详细的接口文档,在这个基础上继续学习,比起你直接去摸那些高大上的概念会轻松很多
seaJs 使用的更多相关文章
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
- JS模块化开发:使用SeaJs高效构建页面
一.扯淡部分 很久很久以前,也就是刚开始接触前端的那会儿,脑袋里压根没有什么架构.重构.性能这些概念,天真地以为前端===好看的页面,甚至把js都划分到除了用来写一些美美的特效别无它用的阴暗角落里,就 ...
- seajs的使用
写在前面 seajs是什么? Seajs是一个js文件加载器. 遵循 CMD 规范模块化开发,依赖的自动加载.配置的简洁清晰. 用于Web开发的模块加载工具,提供简单.极致的模块化体验 一:使用 文件 ...
- 用spm2构建seajs项目的过程
前言 Javascript模块化规范有CommonJs规范,和主要适用于浏览器环境的AMD规范,以及国内的CMD规范,它是SeaJs遵循的模块化规范.因为以前项目中用SeaJs做过前端的模块管理工具, ...
- jquery插件封装成seajs模块
jquery直接在html中引入. jquery插件修改为: define(function (require, exports, moudles) { return function (jquery ...
- 快速上手seajs——简单易用Seajs
快速上手seajs——简单易用Seajs 原文 http://www.cnblogs.com/xjchenhao/p/4021775.html 主题 SeaJS 简易手册 http://yslo ...
- seajs学习一天后的总结归纳
公司项目最近需要将js文件迁移到seajs来进行模块化管理,由于我以前主要接触模块化开发是接触的AMD规范的requireJS,没有接触过CMD规范,而且在实际项目中还没有用过类似技术.于是,我非常兴 ...
- RequireJS与SeaJS模块化加载示例
web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理, ...
- 新手 gulp+ seajs 小demo
首先,不说废话,它的介绍和作者就不在多说了,网上一百度一大堆: 我在这里只是来写写我这2天抽空对seajs的了解并爬过的坑,和实现的一个小demo(纯属为了实现,高手请绕道); 一.环境工具及安装 1 ...
随机推荐
- Unity3D资源存放笔记
文件夹及路径 昨天记了一篇AssetBundle学习笔记,那么游戏中的各种资源应该如何存放呢? 在网上一阵搜罗,把笔记记一下. 非特殊名称文件夹 非Unity3D指定名称的文件夹中的资源,如果游戏场景 ...
- 【Stage3D学习笔记续】真正的3D世界(三):纹理效果
混合模式: 代码 示例是<Stage3D指南>中的直接弄出来的,可以通过点击键盘上的Q.W.E这3个按键,更换混合模式.模型和纹理,可以直观的查看不同混合模式的效果,住:下方的地形使用&q ...
- [BZOJ]2132: 圈地计划 最小割
圈地计划 Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一 ...
- easyui tree在struts1中的使用
前段时间写过类似的功能,开发环境是struts2,jdk1.6,tomcat 而这次是修改N年前的项目 项目的开发环境为struts1,jdk1.4,weblogic8,比较过时所以就增加了使用eas ...
- C#中让窗体自动靠边隐藏
1: private void Yincangtimer_Tick(object sender, EventArgs e)//窗体隐藏事件 2: { 3: int a = Control.MouseP ...
- iOS FONT字体名
下面这段代码可以查看ios中可用的字体,具体那些字体长什么样,可以查看字体册工具. NSArray *familyArray = [UIFont familyNames]; for (id famil ...
- 【10】令operator=返回一个reference to *this
1.令operator= 返回一个reference to *this,为什么? 这只是一个协议,并无强制性.但是,为了与基本类型的行为保持一致性,强烈建议这么做.设计class 有一个宝典:一旦有疑 ...
- HT518V311
HT518V311.rar
- 批量除去php页面的bom,页面meta跑到body中就是这个问题
<?php if (isset($_GET['dir'])){ //设置文件目录 $basedir=$_GET['dir']; }else{ $basedir = '.'; } $auto = ...
- 转:Internal Sales Order (ISO) Process Flow
本文介绍下内部销售订单Internal Sales Order(ISO)在Oracle EBS中的流程,内部销售订单和组织间转移(Inter-Organization Transfer,IOT)的作用 ...