seaJS简介与使用
目录
seaJS简介
快速简要知识点
seajs的使用
使用
语法:seajs.use(id, callback?)
seaJS简介
什么是 seaJS ?
和requireJS相似的,seaJS 也是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为JS文件的加载器,它非常适合在浏览器中使用,它可以确保所依赖的JS文件加载完成之后再加载当前的JS文件,这在大量使用JS文件的项目中可确保各个JS文件的先后加载顺序,确保避免了以前因某些原因某个文件加载慢而导致其它加载快的文件需要依赖其某些功能而出现某函数或某变量找不到的问题,这点非常有用,也是 seaJS (遵守CMD) 的主要价值所在吧;但和 requireJS (遵守AMD规范)有所区别。
快速简要知识点
1、seajs.config({...}); //用来对 Sea.js 进行配置。
2、seajs.use(['a','b'],function(a,b){...}); //用来在页面中加载一个或多个模块。
3、define(function(require, exports, module){...}); //用来定义模块。Sea.js 推崇一个模块一个文件,遵循统一的写法:
4、require(function(require){var a = require("xModule"); ... }); //require 用来获取指定模块的接口。
5、require.async, //用来在模块内部异步加载一个或多个模块。 例如:
define(function(require){require.async(['aModule','bModule'],function(a,b){ // 异步加载多个模块,在加载完成时,执行回调a.func();b.func();})
});
6、exports, //用来在模块内部对外提供接口。 例如:
define(function(require, exports){exports.varName01 = 'varValue'; // 对外提供 varName01 属性 exports.funName01 = function(p1,p2){ // 对外提供 funName01 方法....}
});
7、module.exports, 与 exports 类似,用来在模块内部对外提供接口。例如:
define(function(require, exports, module) { module.exports = { // 对外提供接口name: 'a',doSomething: function() {...};};
});
seajs的使用
使用
seajs.use 用来在页面中加载模块。通过 use 方法,可以在页面中加载任意模块。
<script src="path/to/sea.js"></script>
<script>
seajs.use('./main');
</script>
语法:seajs.use(id, callback?)
// 加载模块 main,并在加载完成时,执行指定回调
seajs.use('./main', function(main) {
main.init();
});
use 方法还可以一次加载多个模块:
// 并发加载模块 a 和模块 b,并在都加载完成时,执行指定回调
seajs.use(['./a', './b'], function(a, b) {
a.init();
b.init();
});
callback 参数可选。当只加载一个模块,且不需要 callback 时,可以用 data-main 属性来简化:
<script src=”path/to/sea.js” data-main=”./main”></script>
等价于
<script src="path/to/sea.js"></script>
<script>
seajs.use('./main');
</script>
seaJS简介与使用相关推荐
- seaJS简介和完整实例
什么是 seaJS ? 和requireJS相似的,seaJS 也是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为 ...
- Seajs是什么及sea.js 由来,特点以及优势
Seajs是什么及sea.js 由来,特点以及优势 这篇文章主要介绍了Seajs的相关知识和和学习心得,适合刚接触SeaJS的同学,需要的朋友可以参考下,有更好的新手教程或文档,欢迎推荐.分享 1.S ...
- Seajs是什么及其优缺点如何使用?
这篇文章主要介绍了Seajs的相关知识和和学习心得,适合刚接触SeaJS的同学,需要的朋友可以参考下,有更好的新手教程或文档,欢迎推荐.分享! 1.Seajs简介 Seajs,一个Web模块加载框架, ...
- linux命令设置波特率,Linux设置串口波特率等参数
stty查看串口参数 stty -F /dev/ttyS0 -a 1 1 查看串口1(/dev/ttyS0)当前的参数,包括波特率.数据位等. stty设置串口参数 stty -F /dev/ttyS ...
- seajs 和spm的使用简介
说实话, 前端开发是一个令人头痛的事情. nodejs出现了很久了, 一直不是很习惯用nodejs, 当初刚出来的时候, 就下载了express, 想搭建个网站, 结果不是我的菜, 愣是用的不习惯,也 ...
- 【SeaJS】【1】初识SeaJS
最近使用JS进行前端开发,在网上翻阅时发现SeaJS,据宣传资料它可以解决命名空间冲突,可以异步加载提高HTML的解析效率,且能遵循Keep It Simple, Stupid理念,把每个JS文件进行 ...
- javascript 模块化(一)——SeaJS
在公司写代码的时候,开头都是下面两种写法的,这是什么意思啊?不明白是什么鬼,只能照葫芦画瓢,人家怎么写我也怎么写吧,后来的后来,原来这样写是原因的.最近有个表单提交的项目,刚好有机会可以研究下,记录下 ...
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- Docker学习(一)-----Docker简介与安装
一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...
最新文章
- 软件工程--项目开发计划
- Java并发编程—定时器Timer底层原理
- [SDOI2016]排列计数
- mysql插入语句例句,一句简单的MySql插入语句怎么写 ?
- git flow 使用步骤
- HTML5清爽简洁外贸网站模板
- 为什么薄膜干涉的厚度要很小_薄膜干涉的膜为什么不能太厚?
- 动态切换view视图viewflipper组件
- Android入门学习4
- perf script 执行时间_在Python中准确地测量代码执行时间
- 高通:蓝牙5.0将可同时连接两个设备
- android av和hdmi输出切换代码,AV转HDMI转换器有用吗?
- python3.6下载opencv_ubuntu16.04+anaconda3+python3.6安装OpenCV3
- 《大型网站技术架构:核心原理与案例分析》读书笔记
- Android 实现 Alexa App-to-App Account Linking
- 三极管在ad中的原理图库_AD18 原理图库
- 电脑怎么显示文件后缀名?3个步骤
- python中cnt是什么意思_CNT是什么意思
- 了解如何定义定义变量和调用函数
- win8.1CPU使用率过高、卡顿、破音问题整理