1
Oktfolio 2023-08-07 16:32:10 +08:00
新建一个 index.html (模板引擎文件),将编译后的前端放在资源( CDN 、静态文件服务器)里面,然后在 index.html 中引入编译后的 js, css 等文件,Controller 接口跳转渲染 index.html 。
这种操作大概是可行的,在 .NET 中具体怎么操作就不知道了。 不能使用 history 路由 |
2
libasten 2023-08-07 16:56:06 +08:00
为啥不用 .NET Core WebAPI 呢?这个不就说为 react 和 vue 之类的前端框架设计了吗?
|
3
wu00 2023-08-07 17:32:39 +08:00
|
4
gowk 2023-08-07 20:09:31 +08:00
参考一下这个项目 https://github.com/hez2010/H-Judge
|
5
KKKKKKKKKKKKKKKK 2023-08-08 14:11:58 +08:00
我司目前管理后台就是这样的。netcore 下有个包可以使用:Microsoft.AspNetCore.SpaServices.Extensions 。
|
6
SuperBig 2023-08-08 17:26:35 +08:00 1
我知道的有两种方式,第一种就是直接用 Microsoft.AspNetCore.SpaServices.Extensions ,上面 5L 和 3L 两位都说过了。
第二种方式:手动集成,我是因为历史遗留问题,无法直接用第一种方式所提及的类库,所以只能自己手动集成。 1 、前端项目 build 后的产物丢到 api 项目的 wwwroot 里。 2 、api 项目增加 UseStaticFiles 中间件,用以拦截静态资源。 3 、api 项目的控制器都增加个统一的前缀,如/user/detail -> /api/user/detail ,这个怎么加起来简单你自己摸索,方式有很多。 4 、api 项目增加 MapFallbackToFile ,将所有 webapi 没有 match 的请求都转到第一步的产物入口文件,一般是 index.html 。 第四部的代码片段: app.UseEndpoints(endpoints=>{ //.... endpoints.MapFallbackToFile("index.html"); }); |