Asp.net核心2.1 + Angular 6应用程序。在我的Start.cs
文件中。我们有
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");
}
});
早上,我从Visual Studio运行asp.net核心应用程序(单击F5)。我将webpack构建卡在构建模块上。它会长时间构建一个scss文件并挂在那里。因此,网页将引发asp.net核心中间件异常。
但是,在下午,我遇到了另一个错误。就是Fail: Microsoft.AspNetCore.SpaServices[0]
。
但是,如果我在命令窗口中运行npm start
,然后在Visual Studio代码中运行dotnet run
。没事。
告诉我该怎么办?
答案 0 :(得分:0)
自己找到答案。仍然是.NET-Core的错误。 刷新(F5)页面解决了该问题,并且工作正常。 (https://github.com/aspnet/JavaScriptServices/issues/1625)
问题仍然存在,但是只是等待它并进行有角度的构建,从我的角度来看,问题似乎是由构建顺序引起的。我的意思是服务器端代码的生成速度比角度代码要快,因此在等待一两秒钟后错误消失了。
另一种方法,如果我们先运行服务器,直到webpack完成编译,然后执行命令dotnet run
。
答案 1 :(得分:0)
我有一个与上述类似的错误(失败:Microsoft.AspNetCore.SpaServices [0]),但对于dotnet CLI(版本3.0.100,Angular 8.0)。我只是创建了一个Angular项目-在构建过程中没有生成任何错误,但是当我运行它时出现了以上错误。经过10分钟的调查,在独自运行angular服务器的过程中发现以下问题:
这是因为模块HomeComponent的路径为空:
此代码是由dotnet工具自动生成的,因此我不确定为什么将其遗漏了。 HomeComponent模块位于Home文件夹中。因此,添加路径可以解决问题。
这可能对那里的其他新手很有用。
答案 2 :(得分:0)
对于ngcc锁定文件,它引起了问题。 只需删除“ ClientApp”文件夹中的“ node_modules”文件夹并重新构建应用程序即可。
答案 3 :(得分:0)
要获取有关导致此错误的问题的详细信息,请通过以下方式运行应用程序:
<块引用>npm 启动
而不是dotnet run
。
然后,如果错误消息表明某些内容,例如缺少软件包,您可能需要安装缺少的软件包,问题解决后,您可以像以前一样继续使用 dotnet run
命令。