1. 程式人生 > >創建web服務器

創建web服務器

binary not exp head pla web服務 文件 cat cti

用node創建本地web服務

1,創建本地文件server.js

var http = require(‘http‘);
var url=require(‘url‘);
var fs=require(‘fs‘);
var mine=require(‘./mime‘).types;
var path=require(‘path‘);

//創建服務器  
http.createServer(function(request, response) {  
    var pathname = url.parse(request.url).pathname;
    var realPath = path.join("assets", pathname);
    
    
var ext = path.extname(realPath); if (ext == "") { ext = ".html"; realPath += "index.html"; } ext = ext ? ext.slice(1) : ‘unknown‘; fs.exists(realPath, function (exists) { if (!exists) { response.writeHead(404, { ‘Content-Type‘: ‘text/plain‘ }); response.write(
"This request URL " + pathname + " was not found on this server."); response.end(); } else { fs.readFile(realPath, "binary", function (err, file) { if (err) { response.writeHead(500, { ‘Content-Type‘: ‘text/plain‘ }); response.end(err); }
else { var contentType = mine[ext] || "text/plain"; response.writeHead(200, { ‘Content-Type‘: contentType }); response.write(file, "binary"); response.end(); } }); } }); }).listen(8080);

2,創建加載類型mime.js

exports.types = {
  "css": "text/css",
  "gif": "image/gif",
  "html": "text/html",
  "ico": "image/x-icon",
  "jpeg": "image/jpeg",
  "jpg": "image/jpeg",
  "js": "text/javascript",
  "json": "application/json",
  "pdf": "application/pdf",
  "png": "image/png",
  "svg": "image/svg+xml",
  "swf": "application/x-shockwave-flash",
  "tiff": "image/tiff",
  "txt": "text/plain",
  "wav": "audio/x-wav",
  "wma": "audio/x-ms-wma",
  "wmv": "video/x-ms-wmv",
  "xml": "text/xml",
  "mp3": "audio/mpeg",
  "ogg": "audio/ogg",
  "zip": "application/zip"
};

3,創建一個文件夾assets放資源

4 node server.js運行

創建web服務器