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
.plugin('shortcuts')
.plugin('access', { format: '%7T %-4m %s %9B %-15h %U%q' })
.get('/hello/:name', function () {
this.stash.json = {
message: 'Hello, ' + this.params.name + '!'
};
this.render();
})
.route('/info', { methods: ['GET', 'HEAD'] }, function () {
var that = this;
require('fs').readFile('./readme.md', function (error, result) {
if (error) {
that.error(error);
} else {
that.body = result;
that.render();
}
});
})
.route('*', function () {
this.redirect('/hello/World');
})
.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
crixalis
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.