javascript-todo-list-tutorial
Version:
Learn how to build a Todo List in JavaScript following Test Driven Development TDD!
42 lines (40 loc) • 1.31 kB
JavaScript
// Zero Dependencies Node.js HTTP Server for running static on Heroku
var http = require('http');
var fs = require('fs');
var path = require('path');
console.log('cwd', __dirname);
var index = fs.readFileSync(path.resolve(__dirname + '/../index.html'), 'utf8');
var favicon = fs.readFileSync(__dirname + '/favicon.ico');
var app = fs.readFileSync(__dirname + '/todo-app.js');
var elmish = fs.readFileSync(__dirname + '/elmish.js');
var appcss = fs.readFileSync(__dirname + '/todomvc-app.css');
var basecss = fs.readFileSync(__dirname + '/todomvc-common-base.css');
http.createServer(function (req, res) {
console.log("URL:", req.url);
if (req.url.indexOf('favicon') > -1) {
res.writeHead(200, {'Content-Type': 'image/x-icon'});
res.end(favicon);
}
if (req.url.indexOf('.js') > -1) {
res.writeHead(200, {'Content-Type': 'application/javascript'});
if (req.url.indexOf('elmish') > -1) {
res.end(elmish);
}
else {
res.end(app);
}
}
if (req.url.indexOf('.css') > -1) {
res.writeHead(200, {'Content-Type': 'text/css'});
if (req.url.indexOf('base') > -1) {
res.end(basecss);
}
else {
res.end(appcss);
}
}
else {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(index);
}
}).listen(process.env.PORT || 8000);