代码之家  ›  专栏  ›  技术社区  ›  rasx

使用Microsoft.dotnet.web.spa.ProjectTemplates::2.0.0时,“dotnet run”与“npm start”是否相同?

  •  1
  • rasx  · 技术社区  · 6 年前

    这个 *.csproj 文件生成者 dotnet new angular Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0 [docs] 似乎将这些命令呈现为相同的: dotnet run npm start .

    无论何时,我都打算经营水疗中心 我需要启动的Visual Studio代码的ASP.NET核心后端(按F5)。运行 网络游戏 will not run both .

    这种情况是故意的吗?我不该费心用吗 网络游戏 在VS代码中?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Edward    6 年前

    为了 dotnet run npm start 它们完全不同。 网络游戏 用于启动 .Net Core 项目,以及 NPM启动 用于启动 Angular 项目。

    因为这个原因 Pressing F5 将同时启动 Core 角度的 项目是,当从 VS Code , the Environemnt Development 然后 Startup.Configure 将运行以下代码:

    spa.UseAngularCliServer(npmScript: "start");
    

    UseAngularCliServer 将呼叫 StartAngularCliServerAsync 落伍 角度的 与运行对应的项目 NPM启动 .

    如果你想退出 角度的 核心 项目从 网络游戏 ,您有两种选择

    • SET ASPNETCORE_Environment=Development 从Windows操作系统的commandlin运行 export ASPNETCORE_Environment=Development 在Linux或MacOS中
    • 移除 if (env.IsDevelopment()) 启动时。

       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");
              // }
              spa.UseAngularCliServer(npmScript: "start");
          });