visual-studio-2015 - 如何使用 Aurelia CLI/ASP.NET Core 优化单个项目的工作流

标签 visual-studio-2015 asp.net-core aurelia

我有一个 ASP.NET Core 项目,它也使用 TypeScript/SASS 托管一个 Aurelia CLI 项目。 IDE 是 Visual Studio 2015。

当项目由 Visual Studio 或 MSBuild 构建时,au build命令在预编译目标中执行,因此当我使用 F5 从 Visual Studio 构建或运行 ASP.NET Core 项目时,Aurelia CLI 将构建 Aurelia 应用程序的 Assets 并将其捆绑到 wwwroot以及。

此工作流可确保正确构建任何解决方案更改,并确保 .NET Core 作为 Web 服务器运行,但是,对于开发人员来说速度很慢,因为对前端代码(HTML、SASS 或 TS)的任何更改都会导致还需要完全重新编译/捆绑 Aurelia 应用程序。

最近对 Aurelia CLI (0.25+) 的更改大大加快了前端构建的速度,这很棒,但仍然不是最佳的。

我不能用 au run --watch因为它不运行 .NET Core 服务器。

我正在寻找有关如何优化此配置的开发人员工作流程的指南 - 理想情况下,按 F5 应该像当前一样工作,但还要在 Aurelia 中激活监视,以便对监视文件的任何更改都将触发Aurelia 中的增量构建,可直接更新浏览器。

最佳答案

我们使用 au run --watch几乎完全可以,但我们仍然如您所料,在 VS 中通过 F5 运行该应用程序。我们不关心 run 命令实际上是否为文件提供服务(如果 build 命令上有监视标志,我们将使用 au build --watch 代替)。我们在项目第一次打开时自动启动 watch,然后我们可以手动停止/重新启动它,因为我们全天使用我们在 gulpfile 中定义的任务(见下文)和 Task Runner Explorer 窗口(所以我不需要打开控制台)。这样,当我实际更改服务器端代码时,我只需要重新编译服务器端代码。

我们没有设置浏览器同步,所以这不会自动刷新浏览器,但我们对此很好 - 我不认为 ctrl+R 是一个大的时间接收器。

我们在预发布步骤中有“au build --env prod”,以确保构建机器进行生产构建。

我们的 gulpfile.js:

var gulp = require('gulp');
var shell = require('gulp-shell');

gulp.task('build-dev', shell.task(['au build --env dev']));
gulp.task('watch', shell.task(['au run --watch']));
gulp.task('test', shell.task(['au test --watch']));
gulp.task('build-prod', shell.task(['au build --env prod']));

关于visual-studio-2015 - 如何使用 Aurelia CLI/ASP.NET Core 优化单个项目的工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969373/

相关文章:

c# - 预定义类型 System.Object 未定义或导入

c# - Visual Studio 2015/C# 6/Roslyn 无法编译 PCL 项目中的 XML 注释

c# - ASP.NET Core Controller返回的ViewResult在哪里被消耗?

c# - 操作无法完成。无效指针 - Visual Studio 2015 Update 3

aurelia - 使 aurelia-ui-virtualization 与表格一起使用

ssl - iis express - 无法让 ssl 在 vi​​sual studio 2015 中工作

android - 应用程序未在 Visual Studio 2015 中的 Visual Studio 模拟器中运行

c# - 升级到.net 6.0后是否可以删除startup.cs文件以保留在Program.cs中?

javascript - 验证输入标签中的最大金额 : (Aurelia)

javascript - Aurelia: Uncaught Error :doSomething 不是函数