【发布时间】:2014-02-13 13:16:22
【问题描述】:
我最近开始使用 angularjs。但它的模块概念让我感到困惑。
在其中一个角度教程中,有以下代码:
'use strict';
/* Services */
var phonecatServices = angular.module('phonecatServices', ['ngResource']);
//this line's added by me
phonecatServices.constant('SomeConstant', 123);
phonecatServices.factory('Phone', ['$resource',
function($resource){
return $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
}]);
为什么 angularjs 需要像常量或工厂这样的辅助函数,而它可以以类似于 nodejs 更简洁的方式定义模块?我对这种方法有什么优势感到困惑。
var $resource = require('$resource');
var SomeConstant = 123;
var Phone = $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
};
exports.SomeConstant = SomeConstant;
exports.Phone = Phone;
【问题讨论】:
-
Angular 模块并不是真正的 AMD 模块,它们是用于定义模块的内部 Angular 框架定义的一部分,但是您在 CommonJS 语法中提到的第二个模块,用于定义通常在服务器端(如 Node.js)使用的模块
标签: javascript angularjs module node-modules angularjs-module