【问题标题】:Gulp and Visual Studio: VS is locking filesGulp 和 Visual Studio:VS 正在锁定文件
【发布时间】:2018-04-19 16:20:38
【问题描述】:

以前我们使用 Bower 来管理 SASS 和 JavaScript 包。我们最近切换到 NPM 来管理这些包和 Gulp 来打包和缩小。从 Visual Studio 运行 Gulp 任务时,由于文件被锁定,我们一直遇到问题。可以做些什么来防止这种情况发生或强制重试/覆盖?

Gulpfile 如下所示:

gulp.task("sass", ['npmSass','npmBootstrapSass', 'minifySass'])

gulp.task('npmBootstrapSass', function () {
   return gulp.src(NODE_MODULES + '/bootstrap/scss/**', { base: NODE_MODULES + '/bootstrap/scss' })
        .pipe(gulp.dest(SCSS_DEST + '/bootstrap'))
});

gulp.task('npmSass', function () {
    return gulp.src(nodepackages(npm_scss, "/**/*.scss"), { base: NODE_MODULES })
        .pipe(gulp.dest(SCSS_DEST));
});

gulp.task('minifySass', function () {
    return gulp.src(['Content/styles/scss/*.scss'])
        .pipe(sass())
        .pipe(concat('bundle-sass.css'))
        .pipe(gulp.dest('wwwroot/dist/'))
        .pipe(uglifyCSS())
        .pipe(rename({ suffix: '.min' }))
        .pipe(gulp.dest('wwwroot/dist/'))
});

【问题讨论】:

    标签: visual-studio npm gulp


    【解决方案1】:

    问题在于 gulp 任务是异步运行的,因此文件确实被锁定了。我安装了一个名为gulp-sync 的插件,以便可以同步执行任务。这似乎解决了这个问题,所以我对 Visual Studio IDE 锁定文件的假设可能不正确。

    解决方案如下:

    var gulpsync = require('gulp-sync')(gulp);
    gulp.task("sass", gulpsync.sync(['npmSass','npmBootstrapSass', 'minifySass']) );
    

    【讨论】:

      猜你喜欢
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-26
      • 2011-03-08
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 2011-01-01
      相关资源
      最近更新 更多