Angularjs错误:[$ location:nobase]

Ped*_*nda 14 angularjs

你尝试用角度项目asp.net创建一个简单的网络mvc 5我有这个js

var app = angular.module("app", ["ngRoute"])
    .config(function ($routeProvider, $locationProvider) {
        $routeProvider.when('/', {
            templateUrl: '/AngularJS/Templates/inicio.html',
            controller: 'bienvenidoController'
        });
        $locationProvider.html5Mode(true);
    });
Run Code Online (Sandbox Code Playgroud)

还有这个:

app.controller("bienvenidoController", function ($scope) {

});
Run Code Online (Sandbox Code Playgroud)

视图:布局:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
</head>
<body ng-app="app">
    @RenderBody()
    <!--Librerias Angular-->
    <script src="~/Scripts/angular.min.js"></script>
    <script src="~/Scripts/angular-route.min.js"></script>

    <!---Librerias App-->
    <script src="~/AngularJS/RegistrationModule.js"></script>
    <script src="~/AngularJS/bienvenidoController.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

指数:

<div ng-view>

</div>
Run Code Online (Sandbox Code Playgroud)

和:

<h1>Hola Mundo!</h1>
Run Code Online (Sandbox Code Playgroud)

错误:

错误:[$ location:nobase]

错误见firebug mozilla

Mik*_*ckx 41

正如AngularJs文档中所述

如果将$ location配置为使用html5Mode(history.pushState),则需要使用标记指定应用程序的基本URL,或者通过将带有requireBase:false的定义对象传递给$ locationProvider来配置$ locationProvider以不需要基本标记. html5Mode()

https://docs.angularjs.org/error/$location/nobase

您缺少<base href="/">文档中的内容,或者您​​可以通过设置禁用检查

$locationProvider.html5Mode({
  enabled: true,
  requireBase: false
});
Run Code Online (Sandbox Code Playgroud)