Skip to content

Instantly share code, notes, and snippets.

@jaredpalmer
Forked from kevinSuttle/app.js
Created March 24, 2016 17:56
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 jaredpalmer/744834e421af4cd548dd to your computer and use it in GitHub Desktop.
Save jaredpalmer/744834e421af4cd548dd to your computer and use it in GitHub Desktop.
Gulp, BrowserSync, Sass, Autoprefixer, Nodemon
var express = require('express');
var app = express();
var router = express.Router();
var hbs = require('hbs');
app.set('view engine', 'html');
app.engine('html', hbs.__express);
app.use(express.json());
app.use(express.urlencoded());
app.use(express.static('public'));
app.get('/', function(req, res) {
res.sendfile('./views/index.html');
});
app.listen(5000);
var gulp = require('gulp');
var sass = require('gulp-sass');
var prefix = require('gulp-autoprefixer');
var browserSync = require('browser-sync');
var reload = browserSync.reload;
var nodemon = require('gulp-nodemon');
gulp.task('sass', function () {
return gulp.src('public/scss/*.scss')
.pipe(sass({outputStyle: 'compressed', sourceComments: 'map'}, {errLogToConsole: true}))
.pipe(prefix("last 2 versions", "> 1%", "ie 8", "Android 2", "Firefox ESR"))
.pipe(gulp.dest('public/css'))
.pipe(reload({stream:true}));
});
gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init(null, {
proxy: {
host: "http://localhost",
port: "5000"
}
});
});
gulp.task('default', ['sass', 'browser-sync'], function () {
gulp.watch("public/scss/*.scss", ['sass']);
gulp.watch(["public/js/**/*.js", "./*.html"], reload);
});
gulp.task('nodemon', function (cb) {
var called = false;
return nodemon({script: 'app.js'}).on('start', function () {
if (!called) {
called = true;
cb();
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment