c# - ASP.NET Core + Angular 静态路由
问题描述
我已经创建了默认的 ASP.NET Core + Angular 项目。我只需要通过链接/角度打开角度应用程序。此外,当角度路由也必须位于 /angular 链接下时,例如“/angular/profile” - 个人资料页面,“/angular/item/22” - 带有项目的页面。通过不包含“/angular”的链接,我需要打开静态文件或 MVC 视图。
默认项目使用 SPA,所以我不想更改它。
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
有什么解决办法吗?
解决方案
如果要指定从 Angular ClientApp 文件夹查看的基本 URL,请尝试 通过转到ClientApp > src > index.htmlhref
来设置属性,如下所示:base
<head>
<meta charset="utf-8">
<title>ClientApp</title>
<base href="/angular">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
之后,网址是这样的:
无需更改 UseSpa 方法,我的 UseSpa() 方法如下:
app.UseSpa(spa =>
{
// To learn more about options for serving an Angular SPA from ASP.NET Core,
// see https://go.microsoft.com/fwlink/?linkid=864501
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
推荐阅读
- mysql - 使用 DataGrip 连接到 wamp 本地服务器
- wordpress - 如何在 tag.php 中随机发布帖子?
- java - 使用参数从 ruby SDK 调用 Java 中的 AWS Lambda
- vulkan - Vulkan-HPP 开发人员是否更改了 vk::DebugUtilsMessengerEXT 创建中的任何内容?
- javascript - 我应该在我的配置中添加什么到我的 appId 中?
- ember.js - 如何在 Ember 中处理单击对象的 CSS 属性?
- c - 使用 rmmod (del_gendisk) 卸载时,Linux 块设备模块挂起
- algorithm - 这个伪代码的复杂度是多少
- r - 按数据框列汇总行,然后将这些行转换为列
- python - python - 如何在python中将一个充满图像的目录调整为所需的宽度和高度?