seajs模块化加载框架使用
seajs是模块化加载框架。seajs.org已经打不开了,seajs的github。seajs速查文档
<!--如果完成下面4步,则seajs掌握了80%
js模块化
1.引入seajs的库 :<script type="text/javascript" src="sea/sea.js"></script>
2.如何变成模块
define:一个文件就是一个模块。如下utils文件
define(function(require, exports) {
  exports.each = function (arr) {
    // 实现代码
  };
  exports.log = function (str) {
    // 实现代码
  };
});
3.如何调用模块 exports seajs.use
用来在页面中加载一个或多个模块。seajs.use(id, callback?)
4.如何依赖模块  requie
通过 require('./util.js') 就可以拿到 util.js 中通过 exports 暴露的接口。
require执行完的结果就是exports 。
 -->
html文件:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
<meta name="format-detection" content="telphone=no, email=no"/>
<meta name="apple-touch-fullscreen" content="yes"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<title>image-size</title>
<style type="text/css">
*{margin: 0;padding: 0;}
</style>
<script type="text/javascript" src="sea/sea.js"></script>
<script language="javascript">
//加载入口文件main.js,默认后缀js自动匹配
//seajs.use(模块地址,函数)
// sea的默认根目录:sea.js这个文件所在的文件
//以当前页面为根目录写法:./目录
seajs.use('./sea/main',function(main){
console.log(main.say());
});
</script>
</head>
<body> </body>
</html>
与html并列的sea文件夹里,放有sea.js,main.js,main1.js,main2.js
main.js:
define(function(require,exports,module){
    console.log('module of main:');
    var main1 = require('main1');
    main1.say();
    var main2 = require('main2'); //require引用模块
    main2.say();
    return {
        say: function(){
            console.log('main--hello');
        }
    };
});
main1.js:
define(function(require,exports,module){
    console.log('module of main1:');
//exports 对外提供接口的对象
    module.exports = {
        say: function(){
            console.log('main1--hello');
        }
    };
});
main2.js:
define(function(require,exports,module){
    console.log('module of main2:');
    return {
        say: function(){
            console.log('main2--hello');
        }
    };
});
输出结果:
module of main:
module of main1:
main1--hello
module of main2:
main2--hello
main--hello
undefined
seajs模块化加载框架使用的更多相关文章
- SeaJS 模块化加载框架使用
		SeaJS 是一个遵循 CMD 规范的模块化加载框架 CommonJS,CMD,AMD等规范后文会提到,这里主要先了解如何在代码中使用. 如果你有使用过nodejs ,那么理解起来就容易多了. 我们通 ... 
- RequireJS 模块化加载框架使用
		RequireJS 是一个遵循 AMD 规范的模块化加载框架 与上文seajs一样,这里简单介绍其相关用法 同样的,首先是下载好 require.js --> http://requirejs. ... 
- RequireJS与SeaJS模块化加载示例
		web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理, ... 
- 转: javascript模块加载框架seajs详解
		javascript模块加载框架seajs详解 SeaJS是一个遵循commonJS规范的javascript模块加载框架,可以实现javascript的模块化开发和模块化加载(模块可按需加载或全部加 ... 
- javascript模块加载框架seajs详解
		SeaJS是一个遵循commonJS规范的javascript模块加载框架,可以实现javascript的模块化开发和模块化加载(模块可按需加载或全部加载).SeaJS可以和jQuery完美集成,使用 ... 
- angularJS1笔记-(20)-模块化加载机制seajs
		SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制. 与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而 ... 
- js模块化加载器实现
		背景 自es6以前,JavaScript是天生模块化缺失的,即缺少类似后端语言的class, 作用域也只以函数作为区分.这与早期js的语言定位有关, 作为一个只需要在网页中嵌入几十上百行代码来实现一些 ... 
- 一起写一个Android图片加载框架
		本文会从内部原理到具体实现来详细介绍如何开发一个简洁而实用的Android图片加载缓存框架,并在内存占用与加载图片所需时间这两个方面与主流图片加载框架之一Universal Image Loader做 ... 
- 该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
		是一篇关于javascript模块化AMD,CMD,CommonJS的学习总结,作为记录也给同样对三种方式有疑问的童鞋们,有不对或者偏差之处,望各位大神指出,不胜感激. 本篇默认读者大概知道requi ... 
随机推荐
- dubbo-springboot
			一.服务提供者boot-user-service-provider 服务提供者boot-user-service-provider代码结构如下: 1.服务提供者boot-user-service-pr ... 
- NUP2201MR
			NUP2201MR:双总线保护IC(瞬态抑制二极管),常用于USB总线的保护. 
- Nginx pathinfo模式配置
			正常配置 location ~ \.php$ { fastcgi_pass ; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $docu ... 
- h5旋转效果
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- printf 遇到bash重定向
			在printf之前添加:setvbuf(stdout,NULL,_IONBF,0);设置缓冲区为空. 在每句printf之后添加:fflush(stdout); 方法一: 1 2 3 4 5 6 7 ... 
- Json字符串转excel表格文件
			假如我们有一段json串,该json串是由一系列结构相同的数据集合组成,如下: { "data": [ { "groupId": "com.test. ... 
- Android 权限的实现
			1. 权限 每个程序在安装时都有建立一个系统ID,如app_15,用以保护数据不被其它应用获取.Android根据不同的用户和组,分配不同权限,比如访问SD卡,访问网络等等.底层映射为Linux ... 
- Linux远程连接及常用指令
			一.远程连接 一般,服务器都是特别庞大的,会把它们用一个独立的小屋进行存放,如果有时候需要对服务器进行一些操作,离得近还好,离的远就会破费一些周折了,所以,这个时候我们就需要用到远程连接软件了.推荐使 ... 
- 如何在vue项目中使用sass(scss)
			1.用npm/cnpm/yarn安装sass的依赖包 npm install --save-dev sass-loader npm install --save-dev node-sass 或者: y ... 
- 爬虫_python3_requests
			Requests 网络资源(URLs)撷取套件 改善Urllib2的缺点,让使用者以最简单的方式获取网络资源 可以使用REST操作(POST,PUT,GET,DELETE)存取网络资源 import ... 
