日期:2014-05-16 浏览次数:20551 次
尝试了网上的yeoman generator 生成的脚手架项目不甚理想
npm install -g generator-angular-require
yo angular-require
就不用那个了,现在在github上找来一个仔细研究下。
目录结构:

符合yeoman脚手架的基本目录结构
重点看一下 script下的目录结构

main.js
/*jshint unused: vars */
require.config({
baseUrl: '../scripts',
paths: {
underscore: '../bower_components/underscore/underscore',
jquery: '../bower_components/jquery/dist/jquery',
bootstrap: '../bower_components/company-theme.git/src/js/bootstrap/bootstrap',
dcjqaccordion: '../bower_components/company-theme.git/src/js/jquery.dcjqaccordion.2.7',
scrollTo: '../bower_components/company-theme.git/src/js/jquery.scrollTo.min',
nicescroll: '../bower_components/company-theme.git/src/js/jquery.nicescroll',
select: '../bower_components/company-theme.git/src/js/bootstrap-select',
ui: '../bower_components/company-theme.git/src/js/aug-ui',
angular: '../bower_components/angular/angular',
'angular-route': '../bower_components/angular-route/angular-route',
'angular-cookies': '../bower_components/angular-cookies/angular-cookies',
'angular-sanitize': '../bower_components/angular-sanitize/angular-sanitize',
'angular-resource': '../bower_components/angular-resource/angular-resource',
'angular-mocks': '../bower_components/angular-mocks/angular-mocks',
'angular-scenario': '../bower_components/angular-scenario/angular-scenario'
},
shim: {
underscore: {
exports: 'underscore'
},
bootstrap: {
deps: [
'jquery'
],
exports: 'bootstrap'
},
dcjqaccordion: {
deps: [
'jquery'
],
exports: 'dcjqaccordion'
},
scrollTo: {
deps: [
'jquery'
],
exports: 'scrollTo'
},
nicescroll: {
deps: [
'jquery'
],
exports: 'nicescroll'
},
select: {
deps: [
'jquery'
],
exports: 'select'
},
ui: {
deps: [
'dcjqaccordion',
'nicescroll',
'scrollTo',
'select'
],
exports: 'ui'
},
angular: {
deps: [
'jquery'
],
exports: 'angular'
},
'angular-route': [
'angular'
],
'angular-cookies': [
'angular'
],
'angular-sanitize': [
'angular'
],
'angular-resource': [
'angular'
],
'angular-mocks': {
deps: [
'angular'
],
exports: 'angular.mock'
}
},
priority: [
'angular'
]
});
//http://code.angularjs.org/1.2.1/docs/guide/bootstrap#overview_deferred-bootstrap
window.name = 'NG_DEFER_BOOTSTRAP!';
require([
'angular',
'app',
'underscore',
'jquery',
'bootstrap',
'dcjqaccordion',
'scrollTo',
'nicescroll',
'select',
'ui',
'angular-route',
'angular-cookies',
'angular-sanitize',
'angular-resource',
'controllers/rootController',
'services/userService',
'directives/ngbkFocus'
], function(angular, app) {
'use strict';
angular.element().ready(function() {
angular.resumeBootstrap([app.name]);
});
});main.js主要配置了requirejs的基本配置,包括path和shim的配置,shim是为了配置那些不支持amd规范的配置。
angular.element().ready(function() {
angular.resumeBootstrap([app.name]);
});
启动angular,或者可以写成另一种方法
require(['domReady!'], function (document) {
angular.bootstrap(document, ['app']);
});
这样写需要在path里面配置
'domReady': '../lib/requirejs-domready/domReady',
app.js