2017-05-05 19 views
1

Gulp sass/gulp watchコマンドは、既存の/生成された.cssファイルを上書きできません。 したがって、フォルダに生成されたCSSファイルがない場合、コマンドは正常に動作します。しかし、ファイルがフォルダー上に存在する場合、私はエラー以下になります。Gulp sassは既に存在するファイルを上書きできません

[12時17分39秒]エラー:EPERM:運転許可されていない、オープン 'C:マイフォルダ\プロジェクト\コンポーネント\ \サイト、製品\デモ\アプリ\ CSS \ style.cssに'

var gulp = require('gulp'); 
var sass = require('gulp-sass'); 

gulp.task('sass', function() { 
    return gulp.src('./demo/app/scss/**/*.scss') 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(gulp.dest('./demo/app/css')); 
}); 

gulp.task('sass:watch', function() { 
    gulp.watch('./demo/app/scss/**/*.scss', ['sass']); 
}); 

関連性はわかりませんが、gulp-compassは使用していません。代わりにnode-sassを使用しています。 ありがとうございました。

答えて

0

あなたはきれいなタスクを使用することができます:WebPACKのは、ファイルをロックしたため、それが最終的に、それがあった解決

// Path 
var paths = { 
    scss: { 
    input: 'dev/assets/scss/**/*.{scss,sass}', 
    output: 'public/assets/css' 
    } 
}; 

// SCSS 
gulp.task('scss', function() { 
    return sass(paths.scss.input) 
    .pipe(autoprefixer('last 2 version')) 
    .pipe(cssnano()) 
    .pipe(gulp.dest(paths.scss.output)) 
    .pipe(browserSync.reload({stream: true})); 
}); 

// Clean 
gulp.task('clean', function() { 
    return del(['public/**/*']); 
}); 


// Default 
gulp.task('default', ['clean'], function() { 
    gulp.start('scss'); 
}); 
1

を。それを回避するためにゴクゴク-chmodコマンドを使用します:)

ここ は、最終的なスクリプトです:

var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var chmod = require('gulp-chmod'); 

gulp.task('sass', function() { 
    return gulp.src('./demo/app/scss/**/*.scss') 
    .pipe(chmod(0o755)) 
    .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) 
    .pipe(gulp.dest('./dist/demo/css')); 
}); 


gulp.task('sass:watch', function() { 
    gulp.watch('./demo/app/scss/**/*.scss', ['sass']); 
}); 
関連する問題