如果需要,请自行复制下或下载列代码清单到本地运行(如果不修改源码,这些文件需要在同一目录 ,并且以下列文件名对应) 
我只在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. 有上下界的网络流 loj115 loj116 loj 117

    参考文章 无源汇有上下界的可行流 有源汇有上下界的最大流 有源汇有上下界的最小流 无源汇有上下界可行流 以 loj115 为例. 剥离出必要边与自由边. #include <iostream&g ...

  2. js中的constructor 和prototype

    参考 http://www.cnblogs.com/yupeng/archive/2012/04/06/2435386.html function a(c){ this.b = c; this.d = ...

  3. bzoj5090组题 分数规划

    组题 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 542  Solved: 114[Submit][Status][Discuss] Descript ...

  4. visual studio用"查找替换"来删掉源代码中所有//方式的纯注释和空行

    visual studio用"查找替换"来删掉源代码中所有//方式的纯注释和空行 注意:包括/// <summary>这样的XML注释也都删掉了. 步骤1/2(删除注释 ...

  5. vscode安装插件

    十分简单,知道名字叫啥后,直接搜索,安装,就完了,还可以查看自己已经安装了哪些插件. step1 如图.png step2 image.png step 3 去网上查找想要安装的插件的名字 step ...

  6. HTTP错误:java.lang.IllegalArgumentException: Illegal character in scheme at index 0: http://xxxxxx

    读取T卡文件里的域名,HTTP请求出现如下错误 java.lang.IllegalArgumentException: Illegal character in scheme at index 0: ...

  7. AndroidUI的基本结构

    AndroidUI的基本结构 创建时间: 2013-9-13 11:05 更新时间: 2013-9-13 11:05

  8. FusionCharts for Flex 如何更改图表数据

    FusionCharts allows to change chart data and re-render the chart, after it has loaded on the user’s ...

  9. html页面中拍照和上传照片那些事儿(一)

    本文为原创,转载请注明出处: cnzt  文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6709037.html  一. 思路: <input type= ...

  10. 【Todo】Java线程面试题 Top 50 (转载)

    原文链接:http://www.importnew.com/12773.html 这里有一个排版好看一点的:http://www.cnblogs.com/dolphin0520/p/3958019.h ...