nodejs搭建本地服务器并访问文件的方法
作者:xqnode
本篇文章主要介绍了nodejs搭建本地服务器并访问文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
安装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('服务成功开启')
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。