# 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']); ```