微软官方有提供一套 Vue 的 SPA 应用模板,不过并没有显示在我们使用 VS 创建项目的页面中,大家可以看这篇文章来学习。
但是这种方法是集成了指定的版本,如果要升级vue,对于我这种小白来说还是有难度,我还是习惯前后端分离的方式来开发。
网上也有不少文章,按照vs带的React或Angular中间件,修改了属于Vue的的中间件来集成开发。
还有一种方式,就是asp.net core部署后,把vue的资源部署到nginx。
但是我属于那种不太勤快的人,现在也懒得去深入研究源代码来搞怎么集成,所以就在琢磨怎么简单化这个任务。
按照最简单的来搞,其实就是在访问服务时,能打开index.html这个静态页面就可以了,后面的事就交给了vue框架,那么问题就在访问如 http://localhost:5000时,怎么返回index.html。
这就简单了,首先,我们要让服务提供静态资源的访问能力:
app.UseStaticFiles();
如果一开始创建项目时,就选择了webapi,那么就需要单独引入库文件:
Microsoft.AspNetCore.StaticFiles
到这里,服务就有了提供访问默认的 wwwroot 这个文件夹的能力,接下来就把vue的静态资源放到这个目录下,这个时候,在浏览器访问(假设你的项目配置的访问端口是5000):
http://localhost:5000/index.html
就可以成功运行vue了,但是我想大家应该不希望输入后面那个 index.html 吧,那么再做一步就OK了:
app.UseDefaultFiles(); // 加入这句代码
app.UseStaticFiles();
好了,这就是我偷懒的搞法,希望大家喜欢。