我正在尝试使用 .net core(服务器端)和 angular(客户端)制作一个 Web 应用程序。如果我使用的是 Spa 包(使用 nuget 安装),则会收到以下警告:
与“ws://localhost:5000/sockjs-node/034/ye1v1gz5/websocket”的 WebSocket 连接失败:在建立连接之前 WebSocket 已关闭。
我的 Web 服务器位于 /localhost:5000。当我执行 REST 请求时,我找不到页面:
POST http://localhost:5000/api/login 404(未找到)
我的服务器端配置是:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseSpa(spa =>
{
spa.Options.SourcePath = "StorigiAng";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}"
);
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { Controller = "Home", Action = "Index"}
);
});
}
Run Code Online (Sandbox Code Playgroud)
从角度完成的请求:
this.http.post<User>('http://localhost:5000/api/login',JSON.stringify(user), this.httpOptions)
.pipe(map(user => { return user; }));
Run Code Online (Sandbox Code Playgroud)
如果我不使用 SPA,一切正常。但是,如果我正在修改某些内容,则必须重建所有应用程序。我不希望那样,如果我正在修改某些内容以立即查看结果,我希望这样做。我怎样才能做到这一点?