Skip to content
Lightweight web framework for node.js
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
t
.gitignore
Makefile
changelog.md
license.txt
package.json
readme.md

readme.md

Crixalis

Lightweight web framework for node.js

Features

  • Small, documented and easily extendable core
  • Advanced routing system (content type, method, host) with RegExp support and placeholders
  • Compression support (gzip, deflate)
  • Static file serving support (with ETag, Last-Modified, Expires and LRU-cache)

Synopsis

General usage

var Crixalis = require('crixalis');

Crixalis

	/* Load plugins */
	.plugin('shortcuts')
	.plugin('access', { format: '%7T %-4m %s %9B %-15h %U%q' })

	/* Add route with placeholder */
	.get('/hello/:name', function () {
		/* Prepare data for response */
		this.stash.json = {
			message: 'Hello, ' + this.params.name + '!'
		};

		/* Render response */
		this.render();
	})

	/* Add another route for GET and HEAD methods */
	.route('/info', { methods: ['GET', 'HEAD'] }, function () {
		var that = this;

		require('fs').readFile('./readme.md', function (error, result) {
			if (error) {
				/* Handle error */
				that.error(error);
			} else {
				that.body = result;
				that.render();
			}
		});
	})

	/* Catch everything else */
	.route('*', function () {
		this.redirect('/hello/World');
	})

	/* Start server on port 8080 */
	.start('http', 8080);

Plugins

Available core plugins

  • access Access log (with configurable CLF support)
  • compression Compress response using gzip or deflate compression (also works with static plugin)
  • request Thin wrapper around http.request and https.request
  • shortcuts Route declaration helpers, .get(), .post(), etc.
  • static Serve static files

Static server

Crixalis comes with script for serving static files

	# Start web server on port `8080` and serve files from current folder
	crixalis

	# Start web server on port `3000` and serve files from `~/www/`
	crixalis --port 3000 --path ~/www/

Copyright and License

Copyright 2012-2016 Alexander Nazarov. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

You can’t perform that action at this time.