1
browsersync로 내 꿀꺽 꿀꺽 마시 설정에 SCSS 파일의 변경 사항을 감지하는 데 문제가있는 것 같습니다. 재 장전 및 감지 기능이있는 SLIM에서 완벽하게 작동합니다. 꿀꺽 꿀꺽 마시는 데는 오류가 없습니다. 유일한 문제는 browsersync가 SCSS 파일의 변경 사항을 감지하지 못하고 변경 사항을 다시로드하거나 삽입하는 데 실패했기 때문입니다.멍청한 브라우저 동기화가 SCSS와 작동하지 않습니다.
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
slim = require('gulp-slim'),
autoprefix = require('gulp-autoprefixer'),
notify = require('gulp-notify'),
bower = require('gulp-bower'),
image = require('gulp-image'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
browserSync = require('browser-sync').create();
var config = {
sassPath: './source/sass',
slimPath: './source/slim',
bowerDir: './bower_components',
jsPath: './source/js'
}
gulp.task('bower', function() {
return bower()
.pipe(gulp.dest(config.bowerDir))
});
gulp.task('js', function() {
return gulp.src('./source/js/**/*.js')
.pipe(concat('script.js'))
.pipe(gulp.dest('./dist/js'));
});
gulp.task('icons', function() {
return gulp.src(config.bowerDir + '/font-awesome/fonts/**.*')
.pipe(gulp.dest('./dist/fonts'));
});
gulp.task('image', function() {
gulp.src('./source/images/*')
.pipe(image())
.pipe(gulp.dest('./dist/images'));
});
gulp.task('css', function() {
return sass('./source/scss/**/*.scss', {
style: 'compressed',
loadPath: [
'./source/scss',
config.bowerDir + '/bootstrap/scss',
config.bowerDir + '/font-awesome/scss',
]
}).on("error", notify.onError(function (error) {
return "Error: " + error.message;
}))
.pipe(gulp.dest('./dist/css'))
.pipe(browserSync.stream());
});
gulp.task('html', function() {
gulp.src('./source/slim/**/*.slim')
.pipe(slim({
pretty: true
}))
.pipe(gulp.dest('./dist/'));
});
gulp.task('serve', ['css', 'html', 'js'], function() {
browserSync.init({
injectChanges: true,
server: "./dist"
});
gulp.watch(config.sassPath + '/**/*.scss', ['css']);
gulp.watch(config.slimPath + '/**/*.slim', ['html']).on('change', browserSync.reload);;
});
gulp.task('default', ['bower','js', 'icons', 'css', 'html', 'image', 'serve']);
gulp.task('build',['bower', 'js', 'icons', 'css', 'html', 'image']);
슬림 출력과 HTML 출력을 감지하지만 SCSS에서는 아무런 변화가 없습니다. –
그게 내가 무엇에지고있어. 'html' 태스크에서는'stream()'을 사용하지 않고 대신'onchange'를 시작합니다. 내가 말한 것은'stream()'이 일관성이 없다는 것을 발견했다는 것입니다. 그래서 browserSync를 통해 직접 css 파일을 보면서'stream()'메소드를 사용하지 않고 브라우저를 다시로드 할 수 있습니다. – Maneesh