加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用ASP.Net Core MVC和ASP.Net Web Api在Angular2 App中进行HTM

发布时间:2020-12-16 07:20:38 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.Net Core MVC和ASP.Net Web Api开发Angular2 App. 这是我的基本架构. ASP.Net核心MVC项目(MyProject.Web) Nuget,npm和bower用于依赖. Bower用于将npm依赖项从node_modules复制到wwwroot / libs / 主页/索引控制器的操作提供加载Angular2和其他
我正在使用ASP.Net Core MVC和ASP.Net Web Api开发Angular2 App.

这是我的基本架构.

ASP.Net核心MVC项目(MyProject.Web)

> Nuget,npm和bower用于依赖. Bower用于将npm依赖项从node_modules复制到wwwroot / libs /
>主页/索引控制器的操作提供加载Angular2和其他依赖项的第一页.
>从ActionMethods加载模板,即Home / About
> SystemJS加载模块.
> Angular2的http服务调用ASP.Net Web Api项目(一个单独的项目而不是mvc)

ASP.Net Web Api项目(MyProject.Api)
? – 每个控制器被指定用于实体的CRUD操作,并响应Angular2的http

问题:我无法使用HTML5路由并被迫散列路由,因为html5路由调用服务器而我的MVC项目没有相应的控制器.所以服务器不会返回任何内容.

解决方法

Problem: I am not able to use HTML5 routing and am forced to hash routing because html5 routing calls the server and my MVC project does not have the corresponding controller. So server doesn’t return anything.

在路径路径中添加#可能是像你这样的情况下最常见的解决方案,但……

你有什么特别的理由在Angular中使用MVC吗?

在我看来,你不需要MVC – 你可以创建空的ASP.NET核心项目并添加到你的HTML / Angular应用程序 – 干净,简单,舒适,MVC和Angular之间没有冲突;)

将您的文件(包括index.html)添加到wwwroot并更新您的Startup.cs文件:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
    }

    public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
            app.UseDefaultFiles(); <- Add this line before UseStaticFiles
            app.UseStaticFiles();            
    }
}

请找到更多信息:

> ASP.NET Core Working with Static Files
> Make index.html as startup file in ASP.NET Core

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读