# gulpfile.js
```
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
var sass = require('gulp-sass');
var concat = require("gulp-concat");
var minifyCss = require("gulp-minify-css");
var uglify = require("gulp-uglify");
// Compile sass into CSS & auto-inject into browsers
gulp.task('sass', function () {
return gulp.src(['node_modules/bootstrap/scss/bootstrap.scss', 'scss/style.scss'])
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest("css"))
.pipe(sass({
outputStyle: 'compressed'
}))
// .pipe(minifyCss())
.pipe(browserSync.stream());
});
// Move the javascript files into our js folder
gulp.task('js', function () {
return gulp.src(['node_modules/bootstrap/dist/js/bootstrap.min.js', 'node_modules/jquery/dist/jquery.min.js', 'node_modules/popper.js/dist/umd/popper.min.js'])
.pipe(gulp.dest("js"))
.pipe(browserSync.stream());
});
// Static Server + watching scss/html files
gulp.task('serve', ['sass'], function () {
browserSync.init({
proxy: "http://zigong.eddieliu.tw/",
});
gulp.watch(['node_modules/bootstrap/scss/bootstrap.scss', 'scss/*.scss'], ['sass']);
gulp.watch(['scss/components/*/*.scss', 'scss/*.scss'], ['sass']);
gulp.watch(['scss/components/*.scss', 'scss/*.scss'], ['sass']);
gulp.watch(['scss/custom/*.scss', 'scss/*.scss'], ['sass']);
gulp.watch(['scss/custom/*/*.scss', 'scss/*.scss'], ['sass']);
});
gulp.task('default', ['js', 'serve']);
```