寻求Asp.net Core 2.0与Angular 6单解决方案F5一键运行模板
适配ASP.NET Core 2.0 + Angular 6的单解决方案模板推荐(支持F5一键运行)
嘿,我刚好有几个靠谱的方案推荐给你,完全能满足“单解决方案整合+F5直接启动应用”的需求:
1. 微软官方SPA模板(适配调整版)
虽然ASP.NET Core官方正式推出Angular模板是在2.1版本,但我们可以通过安装2.0版本的SPA模板,再升级Angular到6.x来实现:
- 打开命令行,先安装2.0版本的SPA模板:
dotnet new --install Microsoft.AspNetCore.SpaTemplates::2.0.0 - 创建基础项目:
dotnet new angular - 进入项目里的
ClientApp目录,升级Angular到6.x版本:npm install @angular/cli@6.x --save-dev ng update @angular/core@6.x - 这个模板本身已经配置好了ASP.NET Core和前端的反向代理,调整完版本后,直接在Visual Studio里按F5就能同时启动后端API和Angular开发服务器,完全不用手动分开启动。
2. 社区维护的现成模板
很多开发者已经在GitHub上分享了预配置好的单解决方案模板,直接下载就能用:
- 这些模板通常已经把Angular 6和ASP.NET Core 2.0整合完毕,项目结构清晰(前端代码统一放在
ClientApp目录) - 预配置了SPA中间件和代理规则,F5启动时自动联动前后端服务
- 大多还包含了基础的API示例和Angular组件,能帮你快速上手开发
3. 手动快速整合(找不到合适模板时的备选)
如果不想找模板,自己动手也花不了几分钟:
- 先创建一个ASP.NET Core 2.0的空Web项目
- 在项目根目录用Angular CLI 6创建前端项目:
ng new ClientApp - 修改
Startup.cs里的Configure方法,配置静态文件和SPA中间件:public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.UseSpa(spa => { spa.Options.SourcePath = "ClientApp"; // 开发环境下自动启动Angular开发服务器 if (env.IsDevelopment()) { spa.UseAngularCliServer(npmScript: "start"); } }); } - 保存后按F5,就能一键启动整个应用了
额外小提示
- 确保你的电脑上装了.NET Core 2.0 SDK和Node.js 10.x(Angular 6推荐的Node版本,能避免大部分依赖冲突)
- 如果升级Angular后遇到npm依赖问题,试试删掉
node_modules文件夹和package-lock.json,重新跑npm install
内容的提问来源于stack exchange,提问作者Sal
相关产品推荐
相关产品推荐

