如果需要,请自行复制下或下载列代码清单到本地运行(如果不修改源码,这些文件需要在同一目录 ,并且以下列文件名对应) 
我只在Chrome浏览器中调试过(现在也没去处理浏览器兼容方面的问题)
​1. 代码
/**
 * < main.js >
 * @DATE   2012/11/29
 * @author maolion.j@gmail.com
 * 
 */
 
 
//
Define( "module2", Depend( "module1", "@module1.m1" ), function( require, exports ){
    console.log( "invoke @module2" );
    exports.name = "@module2";
    require("module1").say();
    require("module2").print("maolion");
} );
 
Use( a = Module( "module1.js", "@module1.m1", "@module1.m2", "@module2" ), function( require ){
    console.log( "invoke Main" );
    var b = require( "module1" );
    var x = require( "@module2" );
    var c = require( "@module1.m1" );
    var d = require( "@module1.m2" );
    var x = require( "module2" );
 
    x.print( "joye" );
    //console.log(x.name);
} );
2.代码
/**
 * < module1.js >
 * @DATE   2012/11/29
 * @author maolion.j@gmail.com
 * 
 */
  
Define( "module1" , Depend( "@module2", "module2" ), function( require, exports, module1 ){
    console.log( "invoke module1" );
    require("module2").print( "World" );
    exports.say = function(){
        console.log( "Hi! " + require( "@module2" ).name );
    }
});
 
Define( "module1.m1", function( require, exports, m1 ){
    console.log( "invoke module1.m1" );
});
 
Define( "module1.m2", function( require, exports, m2 ){
    console.log( "invoke module1.m2" );
});
3. 代码
/**
 * < module2.js >
 * @DATE   2012/11/29
 * @author maolion.j@gmail.com
 * http://www.huiyi8.com/yinxiao/​
 */音效网
Define( "module2", function( require, exports, module2 ){
    console.log( "invoke module2" );
    exports.print = function( str ){
        console.log( "Hello, " + str );
    }
});
4. 代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
 
    <title>Untitled</title>
 
    <script type="text/javascript" src="Cox.Module.test.js"></script>
    <script type="text/javascript" src="main.js"></script>
    <script type="text/javascript">
        confirm = function(){ return false };
    </script>
</head>
<body>
    <a href="/">index</a>
</body>
</html>

JavaScript 在浏览器环境中的模块管理的更多相关文章

  1. 分布式环境中,模块数据交互协议分析 (百度brpc)

    1. 背景 之前听到同事说,要为自己的模块考虑写个数据协议.今天有空想了一下.写出来,方便后续使用. 开源代码brpc中可以支持多种协议,nshead.redis.mongo等20多种协议. 2. 什 ...

  2. Linux搭建python环境中cx_Oracle模块安装遇到的问题与解决方法

    安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.11.1,否则会有各种各样的错误信息. 安装Oracle Instant Client就可得到这个链接库,避免 ...

  3. [译]JavaScript检测浏览器前缀

    原文地址: Detect Vendor Prefix with JavaScript 不管浏览器私有前缀的现状如何,我们还是要与之为伴,并且有时候还需要利用它来做一些事情.这些前缀可以用于CSS(比如 ...

  4. Javascript的二进制数据处理学习 ——nodejs环境和浏览器环境分别分析

    以前用JavaScript主要是处理常规的数字.字符串.数组对象等数据,基本没有试过用JavaScript处理二进制数据块,最近的项目中涉及到这方面的东西,就花一段时间学了下这方面的API,在此总结一 ...

  5. AMD:浏览器中的模块规范

    前面提到,为实现与Node.js相同方式的模块写法,大牛们做了很多努力. 但浏览器环境不同于服务器端,它的模块有一个HTTP请求过程(而Node.js的模块文件就在本地),这个请求过程多数使用scri ...

  6. javascript中的内存管理和垃圾回收

    前面的话 不管什么程序语言,内存生命周期基本是一致的:首先,分配需要的内存:然后,使用分配到的内存:最后,释放其内存.而对于第三个步骤,何时释放内存及释放哪些变量的内存,则需要使用垃圾回收机制.本文将 ...

  7. 浏览器环境下Javascript脚本加载与执行探析之DOMContentLoaded

    在”浏览器环境下Javascript脚本加载与执行探析“系列文章的前几篇,分别针对浏览器环境下JavaScript加载与执行相关的知识点或者属性进行了探究,感兴趣的同学可以先行阅读前几篇文章,了解相关 ...

  8. 深入理解javascript中的焦点管理

    × 目录 [1]焦点元素 [2]获得焦点 [3]失去焦点[4]焦点事件 前面的话 焦点作为javascript中的一个重要功能,基本上和页面交互都离不开焦点.但却少有人对焦点管理系统地做总结归纳.本文 ...

  9. 在 WebSphere Application Server V7 集群环境中管理 HTTP session[阅读]

    http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1012_dingsj_wascluster/1012_ding ...

随机推荐

  1. mq推送消息

    场景:BDM(实名制系统)同步数据到CRNS(实名制系统) 一,首先建个队列,队列名字为 bdm_empolyeeinfo_crns 二,applicationContext-rabbitmq.xml ...

  2. Relocation(状压DP)

    Description Emma and Eric are moving to their new house they bought after returning from their honey ...

  3. BZOJ 1924: [Sdoi2010]所驼门王的宝藏 【tarjan】

    Description 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为“先 知”的Alpaca L. Sotomon 是这个家族的领袖,外人也称其为“所驼门王”.所 驼门王毕生致力于维 ...

  4. hud 2073

    #include<stdio.h> #include<math.h> int main() { int i,j,k,n,m,t; double a]; a; for;i++) ...

  5. Lucene的例子

    lucene爬数据库中的数据无非也是查询数据.所有我们用lucene搜索数据主要有下面几个步骤:(代码紧供参考)       一  ,  从数据库中查数据 ====爬数据  ------------- ...

  6. UltraEdit-14.10.0.1024版本语法着色配置

    用了UltraEdit有段时间了,一直没做语法着色,当做普通文本编辑器使用,这也太委屈这个“神器”了. 今天就让它物尽其用吧.体验一把UltraEdit的语法高亮功能. 参考:http://www.1 ...

  7. [NOIP2002] 提高组 洛谷P1033 自由落体

    题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...

  8. 建设DevOps统一运维监控平台,先从日志监控说起

    https://blog.csdn.net/jessise_zhan/article/details/80129915 https://blog.csdn.net/JThink_/article/de ...

  9. 使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译

    为了保证示例的完整性,请先准备好一个 c#写的 exe 程序,或者可以使用我提供的 exe 程序也可以(很简单,为了测试这里仅生成了一个带按钮的 winform,单击按钮提示弹窗) Test WinF ...

  10. sql 语句哪里添加单引号问题

    1.sql 语句哪里添加单引号问题,哪些地方必须加双引号,否则sql语句会报错? :涉及varchar的值的时候,必须有单引号包括varchar值.int等其他字段类型,则不需要加单引号包括. 如: ...