node.js在本地搭建web服务器

学习笔记--node.js搭建web服务器

以下是一个本地web服务器搭建案例,记为学习笔记,以便日后有需要时查看。

我们采用node.js搭建,所以事先肯定需要安装node.js。前往官网安装即可,安装好后可以使用cmd输入命令node -v来检测安装是否成功。如果安装成功了,那么会显示node.js的版本号 

 

 

 

我们接下来的javascript代码会在node.js环境中运行,所以只有将node.js安装好,才能成功启动服务。

创建js文件,在js文件中编写如下代码:

var http = require('http');
 var url = require('url');
 var path = require('path');
 var fs = require('fs');
 
 var dir, arg = process.argv[2] || ''; // 命令行第三个参数,用来接收目录,可为空,相对当前server.js文件的目录名称
 // 比如使用命令 node server debug,意思就是debug文件夹与server.js文件同级
 // 且你想以debug文件夹启动web服务
 
 http.createServer(function (req, res) {
 var pathname = __dirname + url.parse(req.url).pathname;
 dir = dir ? dir : pathname; // 记住dir(目录)
 pathname = dir ? pathname.replace(dir, dir + arg + '/') : pathname; // 替换文件静态路径
 if (path.extname(pathname) == "") {
 pathname += "/";
 }
 if (pathname.charAt(pathname.length - 1) == "/") {
 pathname += "test.html"; // 入口文件,此处默认test.html
 }
 
 fs.exists(pathname, function (exists) {
 if (exists) {
 switch (path.extname(pathname)) {
 case ".html":
 res.writeHead(200, {"Content-Type": "text/html"});
 break;
 case ".js":
 res.writeHead(200, {"Content-Type": "text/javascript"});
 break;
 case ".css":
 res.writeHead(200, {"Content-Type": "text/css"});
 break;
 case ".gif":
 res.writeHead(200, {"Content-Type": "image/gif"});
 break;
 case ".jpg":
 res.writeHead(200, {"Content-Type": "image/jpeg"});
 break;
 case ".png":
 res.writeHead(200, {"Content-Type": "image/png"});
 break;
 default:
 res.writeHead(200, {"Content-Type": "application/octet-stream"});
 }
 
 // res可以自己添加信息来简单交互 比如可以修改点header信息 或者修改返回的资源数据
 fs.readFile(pathname, function (err, data) {
 res.end(data);
 });
 }
 else {
 res.writeHead(404, {"Content-Type": "text/html"});
 res.end("<h1>404 Not Found</h1>");
 }
 });
 }).listen(8085, "127.0.0.5"); // 服务器端口
 
 console.log("server running at http://127.0.0.5:8085/");

这样,一个js文件就编写好了,该js文件命名为server.js,那么我们在cmd中就使用如下命令启动服务:node server

当出现server running at http://127.0.0.5:8085/时,服务就启动成功了。

然后,我们创建一个html文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <div>helloworld</div>
</body>
</html> 

该html文件起名为:test.html 

起其他名字也是可以的,只不过要在上方js文件中的pathname将文件名修改为你实际命名的html文件。

将该html文件放入和server.js在同个目录中

最后在浏览器中输入:127.0.0.5:8085即可访问test.html文件

到此,一个简单又好玩的本地服务就搭好了,可以将自己做好的网页放到上面演示,也是很不错的体验哦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值