johnnys-node-static
Simplified version of node-static module.
Documentation
Function | Description | Example |
---|---|---|
setStaticServer |
Sets the static server. | |
setRoutes |
Sets the routes object. | |
exists |
Verifies if the route does exist and returns true or false . |
|
serve |
Serves the file specified in routes object. | |
serveAll |
Serves any file from root. |
Example
File structure:
root/
├── index.js
└── public/
└── html/
├── index.html
├── test1.html
└── test2.html
For the file structure above, the following routes would serve files for each url:
{ "/": { "url": "/html/index.html" }, "/test1/": { "url": "/html/test1.html" }, "/test2/": { "url": "/html/test2.html" }}
This is the content for index.js
file.
// require Johnny's staticvar JohnnysStatic = require("johnnys-node-static"), http = require('http'); // set static server: public folderJohnnysStatic.setStaticServer({root: "./public"}); // set routesJohnnysStatic.setRoutes({ "/": { "url": "/html/index.html" }, "/test1/": { "url": "/html/test1.html" }, "/test2/": { "url": "/html/test2.html" }}); // create http serverhttp.createServer(function(req, res) { // safe serve if (JohnnysStatic.exists(req, res)) { // serve file JohnnysStatic.serve(req, res, function (err) { // not found error if (err.code === "ENOENT") { res.end("404 - Not found."); return; } // other error res.end(JSON.stringify(err)); }); return; } // if the route doesn't exist, it's a 404! res.end("404 - Not found");}).listen(8000);
Test
npm install johnnys-node-static
npm test # or ./test.sh
Changelog
v0.1.3
- Fixed route setting.
v0.1.2
- Fixed the bug related to the status code.
v0.1.1
- Added
serveAll
method.
v0.1.0
- Initial release.
Licence
See LICENCE file.