AngularJS . net核心路由$injector:modulerr

AngularJS .Net Core routing $injector:modulerr

本文关键字:injector modulerr 路由 net 核心 AngularJS      更新时间:2023-09-26

我正在尝试学习一些关于。net Core和AngularJS的东西,所以我正在做教程,我坚持使用这个:
http://stephenwalther.com/archive/2015/01/16/asp-net-5-and-angularjs-part-3-adding-client-routing当我用默认配置在最新版本的。net Core上做同样的事情时,我得到了一个AngularJS错误:$injector:modulerr模块错误

我做了一个单独的项目来测试路由。有一些代码:

(function () {
'use strict';
angular.module('routeApp', ['ngRoute']).config(config);
function config($routeProvider, $locationProvider) {
    $routeProvider
        .when('/', {
            templateUrl: '/Views/home.html',
            controller: 'HomeController'
        })
        .when('/about', {
            templateUrl: '/Views/about.html',
            controller: 'AboutController'
        })
        .otherwise({
            redirectTo: '/'
        });
    $locationProvider.html5Mode(true);
};
})();

控制器:

(function () {
'use strict';
angular
    .module('routeApp')
    .controller('HomeController', HomeController)
    .controller('AboutController', AboutController)
    .controller('ErrorController', ErrorController);
HomeController.$inject = ['$scope']; 
function HomeController($scope) {
    $scope.message = "Welcome homepage";
}
AboutController.$inject = ['$scope'];
function AboutController($scope) {
    $scope.message = "This is about page";
}
ErrorController.$inject = ['$scope'];
function ErrorController($scope) {
    $scope.message = "Error 404!";
}
})();

index . html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>AngularJS Routing App</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-route.js"></script>
    <script src="app.js"></script>
</head>
<body ng-app="routeApp">
    <a href="/">Home</a>
    <a href="/about">About</a>
    <div>
        <ng-view></ng-view>
    </div>
</body>
</html>

我做错了什么?是否需要任何特殊的服务器配置?

p。我正在使用Visual Studio 2015更新3.

PS2。浏览器栈跟踪:

Uncaught Error: [$injector:modulerr] Failed to instantiate module routeApp due to:
Error: [$injector:unpr] Unknown provider: a
http://errors.angularjs.org/1.5.6/$injector/unpr?p0=a
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:68:12
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4501:19
    at getService (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4654:39)
    at injectionArgs (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4678:58)
    at Object.invoke (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4700:18)
    at runInvokeQueue (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4601:35)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4610:11
    at forEach (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:322:20)
    at loadModules (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4591:5)
    at createInjector (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js:4513:19)
http://errors.angularjs.org/1.5.6/$injector/modulerr?p0=routeApp&p1=Error%3….googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.js%3A4513%3A19)

PS3。缩小app.js

!function(){"use strict";function a(a,b){a.when("/",{templateUrl:"/Views/home.html",controller:"HomeController"}).when("/about",{templateUrl:"/Views/about.html",controller:"AboutController"}).otherwise({redirectTo:"/"}),b.html5Mode(!0)}angular.module("routeApp",["ngRoute"]).config(a)}(),function(){"use strict";function a(a){a.message="Welcome homepage"}function b(a){a.message="This is about page"}function c(a){a.message="Error 404!"}angular.module("routeApp").controller("HomeController",a).controller("AboutController",b).controller("ErrorController",c),a.$inject=["$scope"],b.$inject=["$scope"],c.$inject=["$scope"]}();

请确保在服务器上运行此应用程序