I am using mean stack application.
// -- DEV RequireJS config --
requirejs.config({
// Packages = top-level folders; loads a contained file named 'main.js'
noGlobal: true,
packages: ['main'],
shim: {
'jquery': {
exports: '$'
},
'lodash': {
exports: '_'
},
'angular': {
exports: 'angular',
deps: ['jquery']
},
'angular-cookies': {
deps: ['angular']
},
'angular-sanitize': {
deps: ['angular']
},
'angular-animate': {
deps: ['angular']
},
'angular-resource': {
deps: ['angular']
},
'text': ['require'],
'app': ['angular'],
'ui-router': ['angular'],
'angular-xeditable': ['angular'],
'restangular': ['lodash', 'angular'],
'angular-bootstrap': ['angular'],
'semantic': ['jquery'],
'pickadate': ['jquery'],
'datetimepicker': ['jquery'],
'pickadatedate': ['pickadate'],
'angular-breadcrumb': ['angular'],
'angular-file-upload-shim' : {
deps: ['angular']
},
'cloudinary' :{
deps: ['angular','angular-animate','ui-router','angular-resource']
} ,
'angular-file-upload' :{
deps : ['angular']
}
},
paths: {
'text': '../lib/requirejs-text/text',
'angular': '../lib/angular/angular',
'jquery': '../lib/jquery/jquery',
'lodash': '../lib/lodash/dist/lodash.min',
'semantic': '../lib/semantic/build/packaged/javascript/semantic',
'angular-sanitize': '../lib/angular-sanitize/angular-sanitize',
'angular-animate': '../lib/angular-animate/angular-animate',
'angular-cookies': '../lib/angular-cookies/angular-cookies',
'ui-router': '../lib/angular-ui-router/release/angular-ui-router',
'angular-resource': '../lib/angular-resource/angular-resource',
'angular-bootstrap': '../lib/angular-bootstrap/ui-bootstrap',
'restangular': '../lib/restangular/dist/restangular.min',
'pickadate': '../lib/pickadate/lib/picker',
'datetimepicker': '../lib/smalot-bootstrap-datetimepicker/js/bootstrap-datetimepicker.min',
'textangular': '../lib/textAngular',
'pickadatedate': '../lib/pickadate/lib/picker.date',
'angular-xeditable': '../lib/angular-xeditable/dist/js/xeditable.min',
'moment': '../lib/momentjs/moment',
'd3' : '../lib/d3/d3',
'angular-flash' : '../lib/angular-flash/angular-flash',
'angular-breadcrumb': '../lib/angular-breadcrumb/dist/angular-breadcrumb.min',
'cloudinary' : '../lib/cloudinary_ng/js/angular.cloudinary',
'angular-file-upload' : '../lib/ng-file-upload/angular-file-upload',
'angular-file-upload-shim' : '../lib/ng-file-upload-shim/angular-file-upload-shim.min'
//'jquery.cloudinary' : '../lib/cloudinary_js/js/jquery.cloudinary',
//'jquery.iframe-transport': '../lib//blueimp-file-upload/js/jquery.iframe-transport',
//'jquery.fileupload' : '../lib/blueimp-file-upload/js/jquery.fileupload',
//'jquery.ui.widget' : '../lib/blueimp-file-upload/js/vendor/jquery.ui.widget'
// 'text' : '/lib/'
// You can also define a module here, e.g. a local module that doesn't support RequireJS
// or map a longer path to a shorter name
}
});
// Load the app...
require(['angular', 'text', 'semantic', 'angular-cookies', 'ui-router',
'angular-resource', 'angular-sanitize', 'angular-animate','angular-bootstrap', 'common/main',
'restangular', 'angular-breadcrumb','angular-file-upload-shim','cloudinary','angular-file-upload'
],
function(cookies) {
var startModuleName = $('script[data-main][data-start]').attr('data-start');
if (startModuleName) {
var origModuleName = startModuleName;
startModuleName = startModuleName.replace('.', '/');
require([startModuleName + '/main'], function() {
$(function() {
console.log('Bootstraping auth: ' + origModuleName);
angular.bootstrap(document, ['common', origModuleName]);
});
});
}
}
);
define(["./controllers", "./directives", "./services", './filters','./templates', './states'], function(controllers, directives, services, filters, templates, states) {
var mod = angular.module("common",['ui.router','ngResource', 'ngSanitize',
'restangular', 'ui.bootstrap', 'ngAnimate', 'common.directives.mainMenu','common.directives.matchValues',
'common.directives.pickadate','ncy-angular-breadcrumb','common.directives.datetimepicker','common.states','cloudinary','angularFileUpload']);
mod.directive("commonWatchAutofill", directives.watchAutoFill);
mod.controller("common.controller.user.profile",controllers.userprofile);