JavaScript模块载入框架sea.js 学习一
简单总结sea.js 学习
文件文件夹结构
/sea/sea.js 下载地址 http://seajs.org/docs/#downloads
/sea/jquery-sea.js 下载地址 http://jquery.com/download/
/sea/sea_config.js
/sea/home.jsdata.js
/sea/data.js
1.html页面代码文件
<style>
.ch{height:200px;width:200px;background:#ccc;}
</style>
<div class="cl"></div>
<!-- 引入sea.js文件 -->
<script src="/sea/sea.js"></script>
<!-- 引入sea_config.js配置文件 -->
<script src="/sea/sea_config.js"></script>
<script type="text/javascript">
seajs.use(['jquery','home'],function(a,b){ //
alert(b.foo); //调用home中的foo属性
b.init(); //调用home中的init接口
b.all(); //调用home中的all接口
})
</script>
2.sea_config.js配置文件
seajs.config({
// 别名配置
alias: {
'jquery': '/sea/jquery-sea',
'home': '/sea/home',
'data': '/sea/data'
},
// 路径配置
//paths: {
// 'gallery': 'https://a.alipayobjects.com/gallery'
//},
// 变量配置
//vars: {
// 'locale': 'zh-cn'
//},
// 映射配置
//map: [
// ['http://example.com/js/app/', 'http://localhost/js/app/']
//],
// 预载入项
//preload: ['jquery','home'],
// 调试模式
debug: true,
// Sea.js 的基础路径
//base: 'http://example.com/path/to/base/',
// 文件编码
charset: 'utf-8'
});
3.home.js模块文件
define(function(require, exports, module){
var data = require('data'); // 载入data模块 data.js
function wo(){ //内部函数,init中调用
alert("load $");
};
alert(data.blog); //直接运行函数
module.exports = { //当前模块对外提供的接口
foo:'hello', //属性
init : function(){ //接口init
wo(); //运行内部函数
$(".cl").addClass("ch");
},
all : function(){ //接口all
alert(data.author);
}
};
console.log(require.resolve('jquery')); //require.resolve返回别名文件 解析后的绝对路径
});
4.data.js模块文件
define({
author: 'ZhangYanpo',
blog: 'http://www.ktuo.cn'
});JavaScript模块载入框架sea.js 学习一的更多相关文章
- js模块加载框架 sea.js学习笔记
seajs实现了JavaScript 的 模块开发及按模块加载.用来解决繁琐的js命名冲突,文件依赖等问题,其主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载. 官方文档:http:/ ...
- 解密javascript模块载入器require.js
require.config require.config设置require.js模板载入选项 // 定义config req.config = function (config) { return ...
- Sea.js学习3——Sea.js的CMD 模块定义规范
在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范 ...
- sea.js 学习
开篇:终于学习了sea.js的使用了,因为它是一个模块加载工具,所以首先要了解javascript的模块编程,然后对sea.js的了解和使用 javascript 模块编程 为什么要模块化编程,为了让 ...
- Sea.js学习4——Sea.js的配置
可以对 Sea.js 进行配置,让模块编写.开发调试更方便. seajs.config seajs.config(options) 用来进行配置的方法. seajs.config({ // 别名配置 ...
- Sea.js学习2——Sea.js的API 快速参考
(7 个接口是最常用的) 一.seajs.config:用来对 Sea.js 进行配置. seajs.config({ // 设置路径,方便跨目录调用 paths: { 'arale': 'https ...
- Sea.js学习1——初识Sea.js
Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单.极致的模块化开发体验. 使用 Sea.js,在书写文件时,需要遵守 CMD (Common Module Definition)模块定 ...
- Sea.js学习5——Sea.js的构建工具spm
如果项目遵循推荐的标准目录结构: foo-module/ |-- dist 存放构建好的文件 |-- src 存放 js.css 等源码 | |-- foo.js | `-- style.css `- ...
- JavaScript 的 MVP 框架 Riot.js
Riot.js 详细介绍 Riot.js是一个客户端模型-视图-呈现(MVP)框架并且它非常轻量级甚至小于1kb.尽管他的大小令人难以置信,所有它能构建的有如下:一个模板引擎,路由,甚至是库和一个严格 ...
随机推荐
- [android] 测试的相关概念
/********************2016年5月4日 更新********************************/ 知乎:如何专业地进行黑盒测试? 之前遇到过有些黑盒测试人员,感觉他 ...
- mysql中general_log查询日志
作为mysql的通用查询日志,记录增删改查操作的,都有日志文件记录的. 经上网查资料,得知,通用查询日志--可以关闭 show global variables like '%general%'; 同 ...
- mysql常用操作小节
比如要将表user 中的字段 username修改为 name: ); 其他关于表字段信息的修改: 1.添加字段:给表 user 添加字段 password 在 id 后面; ) NOT NULL A ...
- 2.QT-窗口组件(QWidget),QT坐标系统,初探消息处理(信号与槽)
本章主要内容如下: 1) 窗口组件(QWidget) 2) QT坐标系统 3) 消息处理(信号与槽) 窗口组件(QWidget) 介绍 Qt以组件对象的方式构建图形用户界面 Qt中没有父组件的顶级组件 ...
- Java马士兵高并发编程视频学习笔记(一)
1.同一个资源,同步和非同步的方法可以同时调用 package com.dingyu; public class Y { public synchronized void m1() { System. ...
- Swap file ".BranchModel.class.php.swp" already exists!
在 Linux 下的 vim 编辑过程中,由于某种原因异常退出正在编辑的文件,再次编辑该文件时,会出现如下提示: 1.解决方法:直接 ll -a -a 列出目录下的所有文件,包括以 . 开头的隐含文件 ...
- CSS gradient渐变之webkit核心浏览器下的使用以及实例
一.关于渐变 渐变是一种应用于平面的视觉效果,可以从一种颜色逐渐地转变成另外一种颜色,故可以创建类似于彩虹的效果渐变可以应用在任何可以使用图片的地方.例如,您可以指定一个这么一个渐变:顶部的颜色是红色 ...
- 洛谷P4589 [TJOI2018]智力竞赛(二分答案 二分图匹配)
题意 题目链接 给出一个带权有向图,选出n + 1n+1条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少 Sol TJOI怎么净出板子题 二分答案之后直接二分图匹配check一下. ...
- 【20190219】CSS-知识点整理:float、em、浏览器的渲染过程
一.float与absolute 昨天看到一篇博客总结CSS中的一些关键知识点,里面对float元素进行了比较深入的解析,才发现我之前对float的理解不到位.float实际上最初的目的是为了实现图片 ...
- (后端)spring的@Transactional注解详细用法(转)
转自一人浅醉-博客园: 事务隔离级别 隔离级别是指若干个并发的事务之间的隔离程度.TransactionDefinition 接口中定义了五个表示隔离级别的常量: TransactionDefinit ...