1.0.0 • Published 2 years ago
node-js-crixalis v1.0.0
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
accessAccess log (with configurable CLF support)compressionCompress response usinggzipordeflatecompression (also works withstaticplugin)requestThin wrapper aroundhttp.requestandhttps.requestshortcutsRoute declaration helpers,.get(),.post(), etc.staticServe 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.
1.0.0
2 years ago