commonjs

http://wiki.commonjs.org/wiki/CommonJS

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="a.js"></script>


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>
<script type="text/javascript" src="need-a-b.js"></script>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>
<script type="text/javascript" src="need-a-b.js"></script>
<script type="text/javascript" src="c.js"></script>
<script type="text/javascript" src="d.js"></script>
<script type="text/javascript" src="e.js"></script>
<script type="text/javascript" src="f.js"></script>
<script type="text/javascript" src="need-a-b-c-e.js"></script>
<script type="text/javascript" src="need-b.js"></script>
<script type="text/javascript" src="need-jquery-a-need-a-b.js"></script>




 
  • 模块不应该关心谁会去调用它
  • 模块内部声明自己需要依赖的子模块
  • 模块只关心自己需要实现的接口

php

requie('a.php');require('b.php');require('c.php');


a,b,c...
var $ = require('/lib/jquery.js');
var a = require('./a.js');
var b = require('./b.js');


a,b,c,$...

var $ = require('/lib/jquery');
var a = require('./a');
var b = require('./b');

a,b,c,$...

nodejs

seajs

define(function (require, exports, module){
    var $ = require('/lib/jquery');
    var a = require('./a');
    var b = require('./b');

    a,b,c,$...
});

requirejs

define(['/lib/jquery', './a,js', './b.js'], function($, a, b) {
    a,b,c,$...
});

Title

Made with Slides.com