解决方法实际上是删除ClientApp / dist文件夹。但是每次“发布”时,我都必须再次将其删除。
您知道如何解决吗?
我的Startup.cs使用此文件夹...
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
// In production, the Angular files will be served from this directory
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist";
});
}
答案 0 :(得分:1)
使用dotnet new angular
模板
并遵循本指南:https://update.angular.io/
并从--extract-css
的{{1}}集合中删除"scripts"
ClientApp/package.json
我能够成功地从angular 5升级到6,并且dotnet核心和angular app的实时重新加载功能仍然有效。
关于使您的项目正常运行,您的"scripts": {
"ng": "ng",
"start": "ng serve --extract-css",
"build": "ng build --extract-css",
"build:ssr": "npm run build -- --app=ssr --output-hashing=media",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
Startup.cs
方法中是否包含以下代码?
Configure()
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");
}
});
就是这样告诉角度cli的,它告诉npm启动实时开发服务器,如果实时重新加载无法正常工作,这将是我首先要看的地方。
下一个地方应该是dotnet
(我之前粘贴过)应该正确定义package.json
如果这些方法都不能解决您的问题,请告诉我。
以下句子中的错误;
下一个地方应该是
ng start
(我之前粘贴过)应该正确定义package.json
应阅读
..
ng start
应该在package.json
部分中定义一个start
属性,该属性将使用适当的命令行参数(如果有)调用scripts
>