所以我更像是一个后端开发人员,并没有很好的与JavaScript。然而,由于AngularJS使用了很多类似的概念(控制器,服务,模型等),我发现它很容易处理。但是,我缺乏基本的JavaScript知识有时会阻碍我。如何将我的RequireJS main.js分成两个文件?
我的main.js现在包含requirejs config,angular config以及ui-router config。我怎样才能将它分成一个main.js与requirejs的东西和一个app.js与角的东西?
/*global require, requirejs */
'use strict';
requirejs.config({
paths: {
'angular': '../lib/angularjs/angular.min.js',
'angular-messages': '../lib/angularjs/angular-messages.min.js',
'angular-ui-route': '../lib/angular-ui-router/angular-ui-router.min',
'bootstrap': '../lib/bootstrap/js/bootstrap.min.js',
'jquery': '../lib/jquery/jquery.min.js',
'async': '../lib/requirejs-plugins/src/async'
},
shim: {
'angular': {
exports : 'angular'
},
'angular-ui-route': {
deps: ['angular']
}
}
});
require(['angular',
'./controllers',
'./directives',
'./filters',
'./services',
'angular-ui-route',
'angular-messages',
'async',
'./gmaps',
'bootstrap',
'jquery'],
function(angular, controllers) {
// Declare app level module which depends on filters, and services
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'ui.router', 'ngMessages']).
config(['$stateProvider','$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
// HOME STATES AND NESTED VIEWS ========================================
.state('home', {
url: '/home',
views: {
'main': {
templateUrl: 'vassets/partials/partial-landing.html',
controller: controllers.LandingController,
controllerAs: 'landingCtrl'
}
}
})
.state('signup', {
url: '/signup',
params: {selectedPlace: null},
views: {
'main': {
templateUrl: 'vassets/partials/partial-signup.html',
controller: controllers.SignupController,
controllerAs: 'signupCtrl'
}
}
})
.state('login', {
url: '/login',
params: {selectedPlace: null},
views: {
'main': {
templateUrl: 'vassets/partials/partial-login.html',
controller: controllers.LoginController,
controllerAs: 'loginCtrl'
}
}
})
.state('sell', {
url: '/sell',
params: {selectedPlace: null},
views: {
'main': {
templateUrl: 'vassets/partials/partial-sell.html',
controller: controllers.SellController,
controllerAs: 'sellCtrl'
}
}
})
.state('preview', {
url: '/preview',
params: {listing: null},
views: {
'main': {
templateUrl: 'vassets/partials/partial-preview.html',
controller: controllers.PreviewController,
controllerAs: 'previewCtrl'
}
}
})
.state('bookPhotographer', {
url: '/bookPhotographer',
views: {
'main': {
templateUrl: 'vassets/partials/partial-book.html',
params: {selectedPlace: null},
controller: controllers.BookController,
controllerAs: 'bookCtrl'
},
'left-nav': {
templateUrl: 'vassets/partials/partial-book-nav.html'
}
}
})
.state('valuation', {
url: '/valuation',
views: {
'main': {
templateUrl: 'vassets/partials/partial-valuation.html',
params: {selectedPlace: null},
controller: controllers.ValuationController,
controllerAs: 'valuationCtrl'
},
'left-nav': {
templateUrl: 'vassets/partials/partial-valuation-nav.html'
}
}
});
}]).controller('RouteCtrl', ['$scope','$state', function($scope, $state) {
$scope.$state = $state;
}]);
angular.bootstrap(document, ['myApp']);
});
是的,你可以在另一个文件中使用app.run配置应用 – ngLover