我在Visual Studio中设置了一个ASP.NET 5项目,并创建了一个gulpfile.js,我用它来构建我的typescript和更少的文件。
对于发布版本,我想uglify和concat我的javascripts,为了调试,我想包括我的typescript和地图在我的输出文件夹。
有没有办法“告诉”gulp当前的配置?我看到一些提到设置NODE_ENV环境变量,但到目前为止我看到的解决方案是不是最优的;它们需要在启动IDE之前使用命令行等。
我看到的最近的解决方案是:http://www.colinsalmcorner.com/post/gulp–workaround-for-handling-vs-solution-configuration
然而,这意味着我不能再使用IDE中内置的任务运行器浏览器
解决方法
在Visual Studio 2015中,使用gulp集成,我喜欢@edo limburg和@ RamenChef的答案最好的。
我有一个单页的角度应用程序在同一个解决方案,我的web API。
当构建SPA时,我只是想在html和一些JavaScript文件中替换API和OAuth2(OIDC)授权服务器的URL。
我创建了一个gulpfile.js与调试和释放任务。注意区分大小写的拼写:
gulp.task('Debug',function () { gulp.src("./callback.html") .pipe(replace(uatAuthority,debugAuthority)) .pipe(gulp.dest('./')); ... } gulp.task('Release',function () { gulp.src("./callback.html") .pipe(replace(debugAuthority,uatAuthority)) .pipe(gulp.dest('./')); ) }
FYI,我包括gulp-string-replace来处理替换任务:
var replace = require('gulp-string-replace');
在我在任务运行器浏览器中测试任务后,我卸载了项目文件并进行了编辑,在结束项目标记之前添加了以下代码:
<Target Name="BeforeBuild"> <Exec Command="gulp $(Configuration)" /> </Target>