lilacs
Version:
A web frontend building tool for teamwork, with automaticly compiling, merging, minifying, syncing files to server, supporting distributed servers, ensuring css or html files' inline reference with correct absolute path, and more.
38 lines (26 loc) • 1.34 kB
JavaScript
var browserSync = require('browser-sync');
var projectConfig = require('../../project_config');
var shareData = require('../../data/share');
var serverStyle = require('../../data/server_style');
let treatAllMethodsAsGet = require('../../util/treat_all_methods_as_get');
let tryNodeModules = require('../../util/try_node_modules');
module.exports = (gulp) => {
var startServer = (cb) => {
let browserSyncConfig = projectConfig.browserSync || {};
browserSyncConfig.server = projectConfig.basePaths.webRoot;
browserSyncConfig.port = projectConfig.serverPort;
browserSyncConfig.startPath = projectConfig.basePaths.webPrefix + '/dev/html/' + projectConfig.module + '.html';
browserSyncConfig.reloadDelay = 0;
browserSyncConfig.notify = {styles: serverStyle};
!browserSyncConfig.middleware && (browserSyncConfig.middleware = []);
// this must in the first place
projectConfig.treatAllMethodsAsGet && browserSyncConfig.middleware.unshift(treatAllMethodsAsGet);
browserSyncConfig.middleware.unshift(tryNodeModules);
// create a browser-sync instance
shareData.browser = browserSync.create();
shareData.browser.init(browserSyncConfig);
cb();
};
// register server task
gulp.task('server', startServer);
};