好开心!今天学会了搭建服务端。应对那些接口还未开发出来,需要调取数据的应用,总是写死在移动端的数据觉得很low,所以高大上一些,自己搭建简单的服务端。
真的很简单,简单到让你怀疑人生。
废话不多说,讲步骤。
一:新建一个文件夹,如 nodeServer
二:在该文件夹下 新建一个文件三个文件。分别是:webapp(自定义) server.js mime.js startServe.bat。
三:在webapp文件夹下新建你的数据文件,
server.js代码如下:
var PORT = 8080; //端口
var DIR = 'test1'; //用于存放html的目录
var http = require('http');
var url=require('url');
var fs=require('fs');
var mine=require('./mine').types;
var path=require('path');
var server = http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var realPath = path.join(DIR, pathname);
//console.log(realPath);
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 = mine[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",
"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"
};
startServer.js代码如下 只有一行
node serve.js
webapp文件夹下新建index.html 和 app.json文件
app.json文件放json数据
注意:端口号和访问文件的名称
四 双击startServer.js启动服务
显示端口为开启成功
现在,你的服务端已经搭建完毕,快来访问一下吧。
五 浏览器输入localhost:3030/index.html
显示你的页面就ok了
啦啦啦,是不是很简单啊,没有骗你吧。
高级进阶
创建多个http server
在根目录下创建多个文件夹,并修改server.js里的端口和文件名就可以了!
大功告成!
网友评论