如何在.NET Core C#和AngularJS中设置起始页

时间:2018-07-11 09:21:33

标签: .net angularjs .net-core

我正在一个项目上,我需要将.NET Core用于后端,http服务的cuz以及其他功能。一切都可以处理请求,但是我有一个前端问题。我正在尝试使用AngularJS打开特定页面。您知道,当您打开.NET Core应用程序时,它会向您显示ip:localhost / api / values,但我不想要我的index.html,实际上是我的dashboard.html

这是我的代码,所以:

index.html,位于主文件夹而不是wwwroot中的文件

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>titlu</title>
</head>
<body ng-app="app">
<ui-view></ui-view>

<!-- LLIBRARIES -->
<script src="node_modules/angular/angular.js"></script>

<!-- SCRIPTS -->
<script src="wwwroot/app.js"></script>
<script src="wwwroot/dashboard/dashboard.js"></script>
<script src="node_modules/@uirouter/angularjs/release/angular-ui-router.js"></script>

我与AngularJS一起使用的app.js女巫设置默认路由dashboard.html

var app = angular.module('app', ['ui.router']);

app.config(function ($stateProvider, $urlRouterProvider) {
    var dashboard = {
        name: "dashboard",
        url: "/dashboard",
        templateUrl: "./dashboard/dashboard.html"
    };

$stateProvider.state(dashboard);
$urlRouterProvider.otherwise('/dashboard');
});

,而我的dashboard.html是一个基本的html页面。

我尝试了其他方法,例如

  

app.UseDefaultFiles(); app.UseStaticFiles();   但这对我不起作用。

任何帮助都会很棒。 非常感谢!!!

1 个答案:

答案 0 :(得分:0)

您可以在Startup.cs中找到它:

public void Configure(IApplicationBuilder app, 
                  IHostingEnvironment env, 
                  ILoggerFactory loggerFactory)
{
     app.UseStaticFiles();
     app.UseMvc(routes =>
     {
           routes.MapRoute("spa-fallback", "{*anything}", new { controller = "SPA", action = "Index" });
           routes.MapWebApiRoute("defaultApi", "api/{controller}/{id?}");
     });
}

之后,您可以创建SPAController并在Index()方法上提供index.html:

public IActionResult Index()
{
    return File("~/index.html", "text/html");
}