上一篇【IIS】WebApi和Vue混合发布 介绍了混合发布
方法有些笨拙,后续又研究了一下,通过修改RouteConfig文件,可实现不破坏View文件夹的形式,直接放置Vue的Web文件。
具体方法:
1、修改RouteConfig,直接设置单页路由
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //routes.MapRoute( // name: "Default", // url: "{controller}/{action}/{id}", // defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } //); //设置单页面路由 routes.MapPageRoute("", "", "~/index.html");
2、修改Webconfig文件,为静态网页注册提供程序注册 加入buildProviders节
<compilation targetFramework="4.6.2"> <buildProviders> <add extension = ".html" type = "System.Web.Compilation.PageBuildProvider" /> </buildProviders> </compilation>
3、在WebApi发布目录中添加Vue发布后的文件
这样改动后,访问也能实现首页直接跳转到index.html页面的效果,不过刷新列表依然会提示找不到Controller,具体方法参考上一篇的解决方案