Я создал новый проект Angular с CLI ядра dotnet:
dotnet new angular -o my-app
Я настроил собственный процесс развертывания и сборки вне моего проекта, поэтому мой проект по сути глуп, когда дело доходит достроительство и развертывание.Мой проект никогда не должен создавать файлы .js
и хранить их локально в проекте.В основном это то, что я хочу:
- Я нажимаю F5 / запускаю отладчик
- Проект ядра Dotnet запускается и запускается
npm install && ng serve
- После завершения или когданеобходимо, откроется браузер и покажет сайт
ng serve
(я думаю, по умолчанию http://localhost:4200
)
Пока я близок к тому, чтобы заставить это работать, но по какой-то причине, дотнетБазовый проект предоставляет мне встроенные статические файлы, которые мне не нужны (потому что я хочу перезагрузить в реальном времени с ng serve
).Вот что я могу сделать прямо сейчас:
- Нажмите F5, чтобы запустить отладчик.
- . Появится окно
ng
с информацией об отладке, которая отображает такие данные, как npm install
и * 1026.* были запущены - Открывает
http://localhost:5000
, который предоставляет мне статические файлы, как если бы я создал приложение с ng build
Если я смогу объяснить, чего я действительно хочу:
- Нажмите F5 для запуска отладчика
- Проект запустится, и откроется окно
ng
, показывающее, что я запустил npm install && ng serve -port 4200
- Браузер запускает http://localhost:4200
Прямо сейчас он открывается на порту 5000 (или что-то, что я указываю в файле launchSettings.json
), но я не могу заставить его запустить 4200, потому что технически я не хочу, чтобы мой основной проект dotnet запустил новыйвеб-сервер (так как ng serve
уже создает его).Возможно ли это?
package.json
"scripts": {
"start": "npm install && ng serve --port 4200 &REM"
}
Startup.cs
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");
}
});
}
}