asp.net - 在 Visual Studio 中保存一些 javascript 文件后自动运行 gulp 任务

标签 asp.net visual-studio visual-studio-2015 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 运行 session 中,而不是在 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 功能,因此我不知道它是否可以正常运行连续运行的任务。然而,它在命令行中按预期工作。

关于asp.net - 在 Visual Studio 中保存一些 javascript 文件后自动运行 gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34575561/

相关文章:

c# - 为什么 [EnableCors ("*"、 "*"、 "*")] 不允许所有请求?

asp.net - session 状态信息无效,可能在 ASP.Net 中已损坏

c++ - Boost C++ LNK1104 无法打开文件 'libboost_serialization-vc140-mt-gd-1_62.lib' 错误

visual-studio-2015 - 如何在 Visual Studio 2015 中关闭引号匹配

c++ - Visual Studio 2015 fatal error C1001

c# - 将字符串转换为十进制时出现 System.FormatException : Input string was not in a correct format ,。

c# - excel xml窗口宽度属性

visual-studio - Visual Studio 2010团队资源管理器

c# - 如何附加调试器以从托管(C#)包装器进入 native (C++)代码?

c# - 如何在 Visual Studio 2015 中创建可执行文件