index.html没有部署在Angular2中

时间:2018-05-15 10:41:58

标签: c# angular iis asp.net-core

我创建了一个以Angular2为前端的ASP.Net Core项目。

我已将index.html文件放在UI项目的主文件夹中,当我编译和发布项目时,它没有部署到发布文件夹。以下是我在Startup.cs

中使用的代码
app.Use(async (context, next) => {
            await next();

            if (context.Response.StatusCode == 404 &&
                !Path.HasExtension(context.Request.Path.Value) &&
                !context.Request.Path.Value.StartsWith("/api"))
            {
                context.Request.Path = "/index.html";

                await next();
            }
        });

当我尝试直接从IIS访问该文件时,它说无法找到它。

应用网址为http://localhost:81/

bs-config.json的内容如下

{
"server": {
"baseDir": "./dist",
"routes": {
   "/node_modules": "node_modules"
  }
 }
}

但项目中没有./dist文件夹。

这是index.html文件的内容

    <!DOCTYPE html>
<html>
<head>
    <title>Node Junction</title>
    <base href="http://localhost:81">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="src/styles.css">

    <!-- Polyfill(s) for older browsers -->
    <script src="node_modules/core-js/client/shim.min.js"></script>
    <script src="node_modules/zone.js/dist/zone.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>


    <script src="src/systemjs.config.js"></script>
    <script>
        System.import('main.js').catch(function (err) { console.error(err); });
    </script>
</head>

  <body>
    <my-app>Loading AppComponent content here ...</my-app>
  </body>
</html>

这有什么线索吗?

2 个答案:

答案 0 :(得分:0)

您是否在索引文件中定义了起始指令?

答案 1 :(得分:0)

将index.html放在wwwroot文件夹中。这是应该从中提供静态文件的文件夹。