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 学习一,布布扣,bubuko.com

时间: 2024-10-20 18:08:59

JavaScript模块加载框架sea.js 学习一的相关文章

js模板加载框架 sea.js学习笔记

seajs实现了JavaScript 的 模块开发及按模块加载.用来解决繁琐的js命名冲突,文件依赖等问题,其主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载. 官方文档:http://seajs.org/docs/#docs 首先看看seajs是怎么进行模块开发的.使用seajs基本上只有一个函数“define” fn.define = function(id, deps, factory) { //code of function… } 使用define函数来进行定义一个模块

解密javascript模块加载器require.js

require.config require.config设置require.js模板加载选项 // 定义config req.config = function (config) { return req(config); }; // 加载config配置项 req = requirejs = function (deps, callback, errback, optional) { var context, config, contextName = defContextName; //

关于javascript模块加载技术的一些思考

前不久有个网友问我在前端使用requireJs和seajs的问题,我当时问他你们公司以前有没有自己编写的javascript库,或者javascript框架,他的回答是什么都没有,他只是听说像requirejs和seajs是新东西新技术,很有价值所以想用它. 这位网友的问题引起了我对javascript模块加载技术的思考,上篇文章我给出了自己写的一个javascript库的基本结构,其实写这篇文章的一个起因就是因为我想使用requirejs或者seajs这样的技术来重新设计我写javascrip

JavaScript动态加载CSS和JS文件

var dynamicLoading = { css: function(path){ if(!path || path.length === 0){ throw new Error('argument "path" is required !'); } var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.href = path; lin

Node.js【6】Web开发、进阶(模块加载、控制流、部署、弊端)

笔记来自<Node.js开发指南>BYVoid编著 实现过程:https://github.com/ichenxiaodao/express-example 第5章 使用Node.js进行Web开发 从零开始用Node.js实现一个微博系统,功能包括路由控制.页面模板.数据库访问.用户注册.登录.用户会话等内容. 会介绍Express框架.MVC设计模式.ejs模板引擎以及MongoDB数据库的操作. 5.1.准备工作 Express(http://expressjs.com/)除了为http

JavaScript之:模块加载程序的历史与背景

原文:History and Background of JavaScript Module Loaders 作者:Elias Carlston 翻译:leotso 介绍 Web 应用程序的应用程序逻辑不断从后端移到浏览器端.但是,由于富客户端 JavaScript 应用程序的规模变得更大,它们遇到了类似于多年来传统应用所面临的挑战:共享代码以便重用,同时保持架构的隔离分层,并且足够灵活以便于轻松扩展. 这些挑战的一个解决方案是开发 JavaScript 模块和模块加载系统.这篇文章将着重于比较

Sea.js 是一个模块加载器

1 模块定义define define(function(require,exports,module){ //require 引入需要的模块如jquery等 //var $ = require('./jquery'); //exports可以把方法或属性暴露给外部 exports.name = 'hi'; exports.hi = function(){ alert('hello'); } //module提供了模块信息 }); 2 使用定义好的模块seajs.use <!doctype ht

seajs实现JavaScript 的 模块开发及按模块加载

seajs实现了JavaScript 的 模块开发及按模块加载.用来解决繁琐的js命名冲突,文件依赖等问题,其主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载. 官方文档:http://seajs.org/docs/#docs 首先看看seajs是怎么进行模块开发的.使用seajs基本上只有一个函数"define" fn.define = function(id, deps, factory) { //code of function- } 使用define函数来进行定

Angular Material串串学客户端开发 2 - Node.js模块加载机制Require()

题外话解一下博客标题,因为第一篇文章评论中,有人质疑离题很远,说了半天和Angular Material没有半毛关系.其实我的的中心在后半句<串串学客户端开发>. require() 不要把这里的Require()和RequireJS混为一谈.不过有意思的是,Typescript的模块定义,甚至同时支持这两种模块机制. 导入和使用外部模块,只是简单的一句require(),看看angular/material/docs下的编译文件gulpfile.js的代码片段.对模块导入和使用有个直观的感觉