【发布时间】:2019-08-03 02:55:29
【问题描述】:
我不得不在 dotnet core 2.1 单页应用程序模板中重新设计一个 Angular 应用程序。
我是在普通“ClientApp”文件夹旁边的新文件夹“Frontend”中完成的。在本地它工作正常,但是当我部署它或尝试通过“dotnet publish”发布它时,它总是需要 ClientApp 文件夹。
ClientApp文件夹可以分别替换重命名吗?
【问题讨论】:
我不得不在 dotnet core 2.1 单页应用程序模板中重新设计一个 Angular 应用程序。
我是在普通“ClientApp”文件夹旁边的新文件夹“Frontend”中完成的。在本地它工作正常,但是当我部署它或尝试通过“dotnet publish”发布它时,它总是需要 ClientApp 文件夹。
ClientApp文件夹可以分别替换重命名吗?
【问题讨论】:
我很确定您可以通过更改 Startup.cs 来完成此操作
spa.Options.SourcePath = "ClientApp";
...并更改生产构建路径:
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist";
});
...然后在project_name.csproj中修改你的路径:
<SpaRoot>ClientApp\</SpaRoot>
【讨论】:
Startup.cs 文件夹中有 2 个部分,您可以在其中注册单页应用程序文件的路径,我猜您更改了文件夹名称,但没有更改配置设置。
在配置服务方法中:
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist";
});
并在配置http管道方法中:
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
.csproj 文件中还有一个属性组来注册客户端目录名称
<SpaRoot>ClientApp\</SpaRoot>
【讨论】: