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



我有一个 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应用程序的资产并将其捆绑到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 命令是否实际为文件提供服务(如果构建命令上有监视标志,我们将改用au build --watch)。我们在项目首次打开时自动启动手表,然后我们可以在一天中使用我们在 gulpfile(见下文)和任务运行程序资源管理器窗口中定义的任务(所以我不需要打开控制台)手动停止/重新启动它。这样,当我实际更改服务器端代码时,我只需要重新编译服务器端代码。

我们没有设置浏览器同步,所以这不会自动刷新浏览器,但我们对此很好 - 我不发现 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']));

最新更新