UNPKG

1.34 kBJavaScriptView Raw
1/*
2 * grunt
3 * http://gruntjs.com/
4 *
5 * Copyright (c) 2012 "Cowboy" Ben Alman
6 * Licensed under the MIT license.
7 * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT
8 */
9
10module.exports = function(grunt) {
11
12 // Nodejs libs.
13 var path = require('path');
14
15 // External libs.
16 var connect = require('connect');
17
18 // ==========================================================================
19 // TASKS
20 // ==========================================================================
21
22 grunt.registerTask('server', 'Start a static web server.', function() {
23 // Get values from config, or use defaults.
24 var port = grunt.config('server.port') || 8000;
25 var base = path.resolve(grunt.config('server.base') || '.');
26
27 var middleware = [
28 // Serve static files.
29 connect.static(base),
30 // Make empty directories browsable. (overkill?)
31 connect.directory(base)
32 ];
33
34 // If --debug was specified, enable logging.
35 if (grunt.option('debug')) {
36 connect.logger.format('grunt', ('[D] server :method :url :status ' +
37 ':res[content-length] - :response-time ms').magenta);
38 middleware.unshift(connect.logger('grunt'));
39 }
40
41 // Start server.
42 grunt.log.writeln('Starting static web server on port ' + port + '.');
43 connect.apply(null, middleware).listen(port);
44 });
45
46};