1.0.1 • Published 8 years ago

grunt-koa v1.0.1

Weekly downloads
1
License
GPL-2.0
Repository
github
Last release
8 years ago

grunt-koa

This is a Grunt task for running a Koa web server.

Installing

Requires NodeJS v0.12.0 or greater. NodeJS 4 recommended.

npm install grunt-koa --save-dev

Configuration

Example of serving static content. This is useful if you just want to serve a set of static files from a build directory at the end of your grunt build. This example serves content from the static/ directory.

	grunt.initConfig({
		koa: {
			serve: {
				options: {
					static: 'static'
				}
			}
		}
	});

	grunt.loadNpmTasks('grunt-koa');

	grunt.registerTask('default', ['koa:serve']);

Example of custom middleware. This is useful when you want to run a Koa server with a set of middleware installed.

	var sampleMiddleware = function *(next) {
		grunt.log.writeln('sample middleware');
		yield next;
	};

	grunt.initConfig({
		koa: {
			serve: {
				options: {
					middleware: [sampleMiddleware]
				}
			}
		}
	});

	grunt.loadNpmTasks('grunt-koa');

	grunt.registerTask('default', ['koa:serve']);

port (type: number, default: 8000)

Specifies the port to run Koa on.

static (type: string, default: null)

A path to serve static files from, relative to where Grunt is executed. If this option is specified, then the koa-static middleware will automatically be installed and set to serve static files using this option as the path.

middleware (type: array or function, default: null)

If this options is used to install middleware(s) into Koa. It should be set to an array of middleware functions, or a function which will be called with a reference to the Koa application. If this is set to a function, it should take the form function (koaApplication) {} and should register middleware on the passed in Koa application object. For example, these two configurations would be functionally the same:

	grunt.initConfig({
		koa: {
			serve: {
				options: {
					middleware: [someMiddleware, moreMiddleware];
				}
			}
		}
	});

	grunt.initConfig({
		koa: {
			serve: {
				options: {
					middleware: function(koaApplication) {
						koaApplication.use(someMiddleware);
						koaApplication.use(moreMiddleware);
					}
				}
			}
		}
	});

livereload (type: boolean, default: false)

Not Yet Implemented. Coming Soon! If enabled, the koa-livereload middleware will be automatically loaded.