Create a static server with node.js Back

Definition

create a JavaScript file name server.js:

var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var port = process.argv[2] || 9000;

http.createServer(function(request, response) {
    var uri = decodeURI(url.parse(request.url).pathname);
    var filename = path.join(process.cwd(), uri);

    fs.exists(filename, function(exists) {
        if (!exists) {
            response.writeHead(404, { 'Content-Type': 'text/plain' });
            response.write("404 Not Found\n");
            response.end();
            return;
        }

        if (fs.statSync(filename).isDirectory()) filename += '/index.html';

        fs.readFile(filename, "binary", function(err, file) {
            if (err) {
                response.writeHead(500, { 'Content-Type': 'text/plain' });
                response.write(err + "\n");
                response.end();
                return;
            }

            response.writeHead(200);
            response.write(file, "binary");
            response.end();
        });
    });
}).listen(parseInt(port, 10));

console.log('Listening at\n  => http://localhost:' + port + '/\nCTRL + C to shutdown');

Usage

node ./server.js
node ./server.js 8080

results matching ""

    No results matching ""