app.js:
var PORT = 3000;//
var http = require('http');
var url=require('url');
var fs=require('fs');
var mime=require('./mime').types;//
var path=require('path');
var server = http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var realPath = path.join("webapp", pathname); //这里设置自己的文件名称;
var ext = path.extname(realPath);
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 = mime[ext] || "text/plain";
response.writeHead(200, {
'Content-Type': contentType
});
response.write(file, "binary");
response.end();
}
});
}
});
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");
mime.js:
exports.types = {
"css"
:
"text/css"
,
"gif"
:
"image/gif"
,
"shtml"
:
"text/html"
,
"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"
};
打开项目所在目录输入node app.js
正常的话启动成功, 接着直接输入自己需要测试的文件地址就行了。比如我的 http://localhost:3000/index.html