RequireJS + AngularJS Seed 02 _AMD

RequireJS用的是AMD规范。AMD规范主要两个函数:define()require()

define全局变量,用来定义模块,格式是:

<!-- lang: js -->
define(id?, dependencies?, factory);
  • id可选参数,相当于命名空间
  • dependencies可选参数,相当于引用。在这里传入的模块加载结束之后,会按照位置顺序以参数形式传入之后的factory回调方法中。
  • factory当前面定义的依赖参数执行完之后执行的方法。

然后是例子:

创建一个名为"alpha"的模块,使用了require,exports,和名为"beta"的模块:

<!-- lang: js -->
define("alpha", ["require", "exports", "beta"], function (require, exports, beta) {
   exports.verb = function() {
       return beta.verb();
       //Or:
       return require("beta").verb();
   }   });

一个返回对象的匿名模块:

<!-- lang: js -->
define(["alpha"], function (alpha) {
   return {
     verb: function(){
       return alpha.verb() + 2;
     }
   };   });

一个没有依赖性的模块可以直接定义对象:

<!-- lang: js -->
define({
 add: function(x, y){
   return x + y;
 }   });

一个使用了简单CommonJS转换的模块定义:

<!-- lang: js -->
define(function (require, exports, module) {
 var a = require('a'),
     b = require('b');
 exports.action = function () {};   });

你可能感兴趣的:(AngularJS,requirejs)