将控制器添加到 UI 路由器状态时在 AngularJS 中出现模块错误

Getting a Module Error in AngularJS when adding a controller to UI Router state

App.js

var myApp=angular.module('sampleApp', ['ui.router','MainCtrl', 'NerdCtrl', 
'NerdService', 'GeekCtrl', 'GeekService','ngMaterial']);
myApp.config(function($stateProvider, $urlRouterProvider){
$stateProvider
    .state('login', {
        url: '/login',
        templateUrl: 'views/login.html'

    })
    .state('nerd', {
        url: '/nerd',
        templateUrl: 'views/nerd.html',
        //controller: NerdController
    })
    .state('geek', {
        url: '/geek',
        templateUrl: 'views/geek.html'
    });

$urlRouterProvider.otherwise('/login');
});

我从 AngularJs 样板文件开始,并尝试将 UI 路由器与它一起使用,我已经坚持了一段时间。当我注释掉上面显示的代码行时,它工作正常并且没有出现错误。但是,当我添加控制器时,我在控制台中使用 "ReferenceError: NerdController is not defined" 得到 this module error 。我已经定义了控制器并添加了控制器依赖项,但我不确定我需要做什么。这似乎是我正在监督的一个简单错误。感谢您的帮助!

这是控制器文件:

angular.module('NerdCtrl', []).controller('NerdController', function($scope) 

{
$scope.tagline = 'Nothing beats a pocket protector!';
});

会不会是我的目录结构有问题?

更改为:controller: "NerdController"

var myApp=angular.module('sampleApp', ['ui.router','MainCtrl', 'NerdCtrl', 
    'NerdService', 'GeekCtrl', 'GeekService','ngMaterial']);
    myApp.config(function($stateProvider, $urlRouterProvider){
    $stateProvider
        .state('login', {
            url: '/login',
            templateUrl: 'views/login.html'

        })
        .state('nerd', {
            url: '/nerd',
            templateUrl: 'views/nerd.html',
            controller: "NerdController"
        })
        .state('geek', {
            url: '/geek',
            templateUrl: 'views/geek.html'
        });

    $urlRouterProvider.otherwise('/login');
    });