我用dotnet core CLI创建了一个新的Angular项目:
dotnet new angular -o my-app
我已经在我的项目之外建立了自己的部署和构建过程,所以我的项目在构建和部署时基本上是愚蠢的。我的项目不应该建立任何
.js
并将其存储在项目中的本地。这基本上就是我想要的:
-
我按F5/启动调试器
-
dotnet核心项目启动并运行
npm install && ng serve
-
一旦完成,或在需要时,浏览器将打开并显示
ng serve
网站(我认为默认是
http://localhost:4200
)
到目前为止,我已经接近实现这一点,但出于某种原因,dotnet core项目为我提供了构建的静态文件,我不想要这些文件(因为我想要从中实时重新加载)
ng发球
).以下是我现在能做的:
-
按F5启动调试器
-
A.
ng
窗口显示调试信息,其中显示以下信息:
npm install
和
ng发球
我们都跑了
-
打开
http://localhost:5000
它为我提供静态文件,就像我用
ng build
如果我能解释我真正想要什么:
-
按F5启动调试器
-
项目启动和
ng
窗口出现,显示我跑了
npm install && ng serve -port 4200
-
浏览器启动
http://localhost:4200
现在它在端口5000打开(或者我在
launchSettings.json
但我无法让它启动4200,因为从技术上讲,我不希望我的dotnet核心项目启动一个新的web服务器(从
ng发球
已经创建了一个)。这可能吗?
包裹json
"scripts": {
"start": "npm install && ng serve --port 4200 &REM"
}
创业。反恐精英
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
app.UseSpa(spa =>
{
spa.Options.SourcePath = "component";
if (env.IsDevelopment())
{
spa.UseAngularCliServer("start");
}
});
}
}