Я недавно начал использовать 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;
Угловые модули на самом деле не являются модулями AMD, они являются частью определения внутреннего углового каркаса для определения модуля, а второй, упомянутый в синтаксисе CommonJS, для определения модулей, которые обычно используются на стороне сервера, например Node.js –