AngularJS:在修复hash-bang时,ngRoute不再从wwwroot提供服务

时间:2017-05-02 20:01:40

标签: asp.net angularjs routing asp.net-core location-provider

我开始使用此代码app.js

var app = angular.module('myProject', ['ngStorage', 'ngRoute'])
    .config(function ($routeProvider) {
        $routeProvider.when("/", {
            controller: "loginController",
            controllerAs: "vm",
            templateUrl: "/index.html"
        }).otherwise({
            controller: "loginController",
            controllerAs: "vm",
            templateUrl: "/views/login.html"
        });
    });

如果有人访问过 -

http://localhost:8885

它会重定向到http://localhost:8885/#!/并显示index.html已声明的$routeProvider模板。

如果有人去过 -

http://localhost:8885/#!/asdfasdfasdfhttp://localhost:8885/#!/1234

页面会加载并显示/views/login.html模板。

一切正常。

然后,为了排除hash-bang,称为(/#!/),我补充道:

$locationProvider.html5Mode(true)到上面提到的config的末尾。

这导致我的项目不再再提供我的src -> MyProject -> wwwroot文件夹文件,而是我的src -> Views -> App -> Index.html文件中的内容。文件结构如下所示:

Visual Studio ASP.Net

为什么会这样?如何解决此问题不仅要排除hash-bang,还要从我的wwwroot文件夹中提供服务?

额外信息 -

我的_Layout.cshtml文件包含以下内容:

<body ng-view>
    <div>
        @RenderBody()
    </div>
</body>

我还尝试将<base href="/">置于<head>内但不起作用。

任何帮助?

0 个答案:

没有答案