Skip to content

Instantly share code, notes, and snippets.

@yuririn
Last active March 11, 2018 06:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuririn/694dce2e914b2331b00e6599b5a8f548 to your computer and use it in GitHub Desktop.
Save yuririn/694dce2e914b2331b00e6599b5a8f548 to your computer and use it in GitHub Desktop.
//モジュール
const gulp = require('gulp')
const sass = require('gulp-sass')
const browserSync = require('browser-sync')
const plumber = require('gulp-plumber')
const notify = require('gulp-notify')
const sourcemaps = require('gulp-sourcemaps')
const autoprefixer = require('gulp-autoprefixer')
//開発ディレクトリ
const devDir = 'dev/'
const dev = {
'scss': devDir + 'assets/scss/**.scss'
}
//リリース用ディレクトリ
const destDir = 'dest/'
const dest = {
'css': destDir + 'assets/css'
}
//scss
gulp.task('sass', () => {
gulp.src(dev.scss)
.pipe(sourcemaps.init()) //map生成
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
.pipe(sass({
outputStyle: 'expanded',
indentWidth: 4
})
)
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(sourcemaps.write('../map')) //一個上の階層にmap追加
.pipe(gulp.dest(dest.css))
})
//ブラウザシンク
gulp.task('browser-sync', () => {
browserSync({
server: {
baseDir: destDir,
index : 'index.html'
}
})
})
//デフォルト
gulp.task('default', ['sass','browser-sync'], () => {
gulp.watch( dev.scss, ['sass'])
gulp.watch(dev.scss).on('change', browserSync.reload)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment