Asp.net
在 Visual Studio 中保存一些 javascript 文件後自動執行 gulp 任務
我的 asp.net 項目中有一個文件夾,其中包含一些 javascript 文件。就在建構項目之前,它們被縮小並使用 gulp 複製到“wwwroot”文件夾。它工作得很好,但是當我對任何 javascript 文件進行一些更改時,我必須重新啟動整個項目(以執行與建構相關的任務)或從“Task Runner Explorer”手動執行任務。
這需要一些時間,而且很煩人。一旦我將任何javascript文件保存在此文件夾中,是否可以通過某種方式執行這些任務?
你應該使用
gulp.watch. 我剛剛將一些建構腳本從 Grunt 遷移到 Gulp,並希望提供相同的功能。只需在 Gulpfile 中添加一個監視任務:
gulp.task('watch', function() { gulp.watch('/path/to/your/css/**/*.css', ['minifyCss']); });當您執行此任務時,任務完成後 gulp 不會退出。相反,當文件更改時,第二個參數中指定的任務將執行。如果您不想在文件更改時縮小所有 CSS 文件,
gulp-cached包將派上用場。它過濾自上次任務執行以來未修改的文件(在單個 Gulp 執行會話中,而不是在 Gulp 執行之間)。只需gulp.src在任務中呼叫之後添加它,它就會過濾修改過的文件。var cached = require('gulp-cached'), cssnano = require('gulp-cssnano'); gulp.task('minifyCss', function() { return gulp.src('/path/to/your/css/**/*.css') .pipe(cached('cssFiles')) .pipe(cssnano()) // or whatever plugin you use for minification .pipe(gulp.dest('./dist/')); }我確實嘗試從 VS Task Runner 執行類似於此任務的任務,但它不喜歡我的 Gulpfile 中使用的 ES6 功能,所以我不知道它是否可以正常執行連續執行的任務。但是,它可以從命令行按預期工作。