node.js 开启服务代码 |nodejs搭建本地http服务器代码
由于不做php,java相关的东西,懒得装apache,干脆利用nodejs搭建一个本地的服务器用于测试。
nodejs这玩意儿吧,对做前端的介入后端简直就是一把利器。而且目前,nodejs也越来越有商用价值。
nodejs其实是非常底层的,从功能上说,它既是apache也是php。像搭建http服务器这种功能,本来是apache已经封装好的,但nodejs需要我们手动来搭建。其实在实际应用中,我们可以使用现成的框架。但这里,我想手动搭建,也加深一下对http服务器的理解。
首先是安装nodejs 点击这个链接进入nodejs首页 http://www.nodejs.org
window+R 打开运行 输入 cmd
再输入 node -v 查看版本号 确认node是否安装成功
node执行下面这个文件,我命名为sever.js,它将创建一个httpServer并监听8089端口。
node sever
//文件开始
var http = require('http');
var fs = require('fs'); //fs
var path = require('path');
var duankou = 8089; //本地服务器端口号,可以自己设置
//var documentRoot = '/Users/zhangxiaoming/Documents';
var documentRoot = __dirname;//总是返回被执行的 js 所在文件夹的绝对路径
var server = http.createServer(function(req, res) {
var url = req.url;
//客户端输入的url,例如如果输入localhost:8888/index.html
//那么这里的url == /index.html
var file = documentRoot + url;
console.log(url);
fs.readFile(file, function(err, data) {
/*
一参为文件路径
二参为回调函数
回调函数的一参为读取错误返回的信息,返回空就没有错误
二参为读取成功返回的文本内容
*/
if (err) {
console.log(err);
res.writeHeader(404, {
'content-type': 'text/html;charset="utf-8"'
});
res.write('<h1>404错误</h1><p>你要找的页面不存在</p>');
res.end();
} else {
res.writeHeader(200, {
'content-type': 'text/html;charset="utf-8"'
});
res.write(data); //将index.html显示在客户端
res.end();
}
});
}).listen(duankou);
getIPAdress();
console.log("静态资源服务器已启动");
//获取服务器ip
function getIPAdress() {
var interfaces = require('os').networkInterfaces();
for (var devName in interfaces) {
var iface = interfaces[devName];
for (var i = 0; i < iface.length; i++) {
var alias = iface[i];
if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
console.log("本地访问-http://127.0.0.1:" + duankou);
console.log("局域网访问-http://" + alias.address + ":" + duankou);
return alias.address;
}
}
}
}
原文地址:http://www.35ui.cn/post/20171022984.html 标签:node服务器上一条: 禁止input下拉框|禁止自动完成下拉框显示
下一条: 前端优化:js优化if else