失败:Microsoft.AspNetCore.SpaServices [0]

时间:2019-06-06 23:07:50

标签: angular asp.net-core webpack angular-cli

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。没事。

告诉我该怎么办?

4 个答案:

答案 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服务器的过程中发现以下问题:

screenshot angular build error

这是因为模块HomeComponent的路径为空:

screenshot missing module path in app.module.ts

此代码是由dotnet工具自动生成的,因此我不确定为什么将其遗漏了。 HomeComponent模块位于Home文件夹中。因此,添加路径可以解决问题。

这可能对那里的其他新手很有用。

答案 2 :(得分:0)

对于ngcc锁定文件,它引起了问题。 只需删除“ ClientApp”文件夹中的“ node_modules”文件夹并重新构建应用程序即可。

答案 3 :(得分:0)

要获取有关导致此错误的问题的详细信息,请通过以下方式运行应用程序:

<块引用>

npm 启动

而不是dotnet run

然后,如果错误消息表明某些内容,例如缺少软件包,您可能需要安装缺少的软件包,问题解决后,您可以像以前一样继续使用 dotnet run 命令。