我是Angular的新手,我目前正在尝试构建一些非常简单的东西,但我遇到了问题,我被困住了,我不明白为什么会这样。
我在Express和npm的Webstorm中有一个小项目。 Angular作为依赖项添加,版本1.5.3。我也使用Jade作为模板语言。以下是我在Plunker http://plnkr.co/edit/qCR420hBgnlcUisSOwgw?p=preview
中的内容还列在下面:
doctype html
html(lang='en', ng-app='courses')
head
meta(charset='utf-8')
meta(name='viewport', content='width=device-width, initial-scale=1, user-scalable=no')
script(src='/node_modules/angular/angular.js')
script(src='/node_modules/angular-resource/angular-resource.js')
script(src='/node_modules/angular-route/angular-route.js')
script(src='/javascripts/app.js')
script(src='/javascripts/controllers.js')
script(src='/javascripts/services.js')
title= title
link(rel='stylesheet', ref='//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css')
link(rel='stylesheet', href='/stylesheets/style.css')
body(ng-controller='CoursesListController')
nav.navbar.navbar-inverse.navbar-fixed-top(role='navigation')
div.navbar-header
a.navbar-brand(href='#/courses')=title
div.container
div(ng-view)
我的app.js:
angular.module('courses', ['ngRoute'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/courses', { templateUrl: 'partials/list.html', controller: CoursesListController })
.when('/course/:courseId', { templateUrl: 'partials/item.html', controller: CourseItemController })
.when('/new', { templateUrl: 'partials/new.html', controller: CourseCreateController })
.otherwise({ redirectTo: '/courses' });
}]);
我的controllers.js
function CoursesListController($scope, $routeParams, Course) {
$scope.courses = Courses.query();
}
我的services.js:
angular.module('courseServices', ['ngResource']).factory('Course', function
($resource) {
return $resource('courses/:courseId', {}, {
query: {method: 'GET', params: {courseId: 'courses'}, isArray: true}
})
});
我得到的错误是:
angular.js:13294错误:[ng:areq] Argument' CoursesListController'不是一个功能,未定义
我不确定为什么。此外,您可能认为这样的结构/分离有意义吗?
答案 0 :(得分:2)
这是装货订单问题。
基本上你首先加载app.js
,试图注册尚未加载的函数。
要解决此问题,只需将script(src='/javascripts/app.js')
移到其他包含的下方即可。
编辑:或者,有很多替代方案可以防止像RequireJS,Webpack,Grunt等问题。