nodejs搭建本地服务器并访问文件


更新:分享一个非常实用的npm插件:anywhere

安装方法:npm install anywhere -g
使用方法:在你需要服务器访问的目录下打开cmd输入:anywhere 8001
然后浏览器访问:http://localhost:8001/该目录下的文件名
即可访问!


安装node:https://nodejs.org/en/download/

在本地建立目录:f:/nodetest,在该目录下新建index.html作为我们将要访问的内容。新建server.js作为node开启的入口:

$ cd f:/nodetest
$ mkdir index.html
$ mkdir server.js

index.html文件里简单写一点东西:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>node Test</title>
	<style type="text/css">
		html,body{
			margin: 0;
			padding: 0;
		}
		.node{
			width: 300px;
			margin: 0 auto;
			padding-top:100px; 
			text-align: center;
		}
		.node h1{
			color:rgb(33,199,40);
		}
	</style>
</head>
<body>
	<div class="node">
		<h1>Hello Nodejs</h1>
	</div>
</body>
</html>

接下来写server.js:

const PORT = 8888; //访问端口号8888   //端口号最好为6000以上
var http = require('http'); //引入http模块
var fs = require('fs'); //引入fs模块
var url = require('url');//引入url模块
var path = require('path');//引入path模块


// req : 从浏览器带来的请求信息
// res : 从服务器返回给浏览器的信息
var server = http.createServer(function(req,res){
	var pathname = url.parse(req.url).pathname;;
	 //客户端输入的url,例如如果输入localhost:8888/index.html,那么这里的url == /index.html 
	 //url.parse()方法将一个URL字符串转换成对象并返回,通过pathname来访问此url的地址。

	var realPath = path.join('F:/nodejs/nodetest',pathname);
	//完整的url路径
	console.log(realPath);  
	// F:/nodejs/nodetest/index.html

	fs.readFile(realPath,function(err,data){
		/*
        realPath为文件路径
        第二个参数为回调函数
            回调函数的一参为读取错误返回的信息,返回空就没有错误
            二参为读取成功返回的文本内容
    	*/
		if(err){
			//未找到文件
			res.writeHead(404,{
				'content-type':'text/plain'
			});
			res.write('404,页面不在');
			res.end();
		}else{
			//成功读取文件
			res.writeHead(200,{
				'content-type':'text/html;charset="utf-8'
			});
			res.write(data);
			res.end();
		}
	})
});
server.listen(PORT); //监听端口
console.log('服务成功开启')

cmd下开启服务:

$ node server.js

结果:
hello node

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员青戈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值