gulp/server.js
'use strict'
var path = require('path')
var gulp = require('gulp')
var conf = require('./conf')
var browserSync = require('browser-sync')
var browserSyncSpa = require('browser-sync-spa')
var util = require('util')
function browserSyncInit (baseDir, browser) {
browser = browser === undefined ? 'default' : browser
var routes = null
if (baseDir === conf.paths.src || util.isArray(baseDir) && baseDir.indexOf(conf.paths.src) !== -1) {
routes = {
'/bower_components': 'bower_components'
}
}
var server = {
baseDir: baseDir,
routes: routes
}
browserSync.instance = browserSync.init({
startPath: '/',
server: server,
browser: browser,
notify: false
})
}
browserSync.use(browserSyncSpa({
selector: '[ng-app]' // Only needed for angular apps
}))
gulp.task('serve', ['watch'], function () {
browserSyncInit([path.join(conf.paths.tmp, '/serve'), conf.paths.src])
})
gulp.task('serve:dist', ['build'], function () {
browserSyncInit(conf.paths.dist)
})
gulp.task('serve:e2e', ['inject'], function () {
browserSyncInit([conf.paths.tmp + '/serve', conf.paths.src], [])
})
gulp.task('serve:e2e-dist', ['build'], function () {
browserSyncInit(conf.paths.dist, [])
})