终于找到了门,再也不用install express一大坨了:
一段时间以来,把html加入server环境,同时调用后台接口数据这两个功能放在一块的一个简易实现,都是我想杜撰出的,今天ok了。
由于没有时间学习nodejs,匆忙使用时,还是拼出了前端开发html的node后端环境支持。。
这时就可以把html文件放入server环境,调用接口写假数据了。
如有大神看到,请帮我指正改成正宗的最好。。
在不用fis的情况下,我的一个小流程是:
grunt:搞定一些自动完成
[ autoprefixer, browser-sync, contrib-cssmin, contrib-jshint, contrib-less, contrib-uglify, contrib-watch ]
node server.js:后台交互
综全公司项目来说,目前已够用。
server.js :
var PORT = 1337, DIR = '.'; //用于存放html的目录
var http = require('http'), url = require('url'), fs = require('fs'), path = require('path');
var mine = {
"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"
};
var server = http.createServer(function (req, res) {
var pathname = url.parse(req.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) {
if(req.url == "/common/user/login"){
var data={
rlt_code:'HH0000',
rlt_msg:'成功',
data:{
access_token:'token_zjf',
open_id:'open_id123'
}
};
res.writeHead(200, { "Content-Type": "application/json;charset=UTF-8" });
res.end(JSON.stringify(data));
}else if(req.url == "/common/user/register"){
var data={
rlt_code:'HH0000',
rlt_msg:'成功'
};
res.writeHead(200, { "Content-Type": "application/json;charset=UTF-8" });
res.end(JSON.stringify(data));
}
else{
res.writeHead(404, { "Content-Type": "text/plain" });
res.end("404 error! File not found.!");
}
} else {
fs.readFile(realPath, "binary", function (err, file) {
if (err) {
res.writeHead(500, {
'Content-Type': 'text/plain'
});
res.end(err);
} else {
var contentType = mine[ext] || "text/plain";
res.writeHead(200, {
'Content-Type': contentType
});
res.write(file, "binary");
res.end();
}
});
}
});
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");