nodejs版本:v10.14.2
1.首先准备一个简单的html页面
文章图片
文章图片
1 2 3 4 5nodejs显示html - 锐客网 6 7 8看到这句话表示html页面成功显示了。 9 10
index.html 2.接着准备一个index.js,跟index.html放在同一目录下
(1)导入需要用到的模块,都是nodejs自带的模块
const http = require("http"), fs = require("fs"), path = require("path"), url = require("url");
创建服务器当然需要http模块了,fs模块用来读写html的,path模块用来获取当前目录的,url模块用来解析输入的url的
(2)获取当前目录
// 获取当前目录 var root = path.resolve();
【json|用nodejs创建服务器显示html页面】因为index.html和index.js是放在一起的,属于同级,直接获取当前目录就行了。
(3)创建服务器
// 创建服务器 var sever = http.createServer(function(request,response){ var pathname = url.parse(request.url).pathname; var filepath = path.join(root,pathname); // 获取文件状态 fs.stat(filepath,function(err,stats){ if(err){ // 发送404响应 response.writeHead(404); response.end("404 Not Found."); }else{ // 发送200响应 response.writeHead(200); // response是一个writeStream对象,fs读取html后,可以用pipe方法直接写入 fs.createReadStream(filepath).pipe(response); } }); }); sever.listen(8080); console.log('Sever is running at http://127.0.0.1:8080/');
createServer方法创建一个sever,每次请求从request拿到url,解析后找到文件,获取成功后写入response。 失败则发送404. 代码部分到此结束,接下来是测试 (4)测试 打开cmd,找到文件所在目录(当然用VS Code之类更方便,敲代码测试都在一起),键入node index.js
文章图片
可以看到输出Sever is running at http://127.0.0.1:8080/,表示服务器已经搭建好了。 接着打开浏览器,输入 http://127.0.0.1:8080/index.html
文章图片
成功了! 附index.js完整代码:
文章图片
文章图片
1 "use strict"; 2 const http = require("http"), 3fs = require("fs"), 4path = require("path"), 5url = require("url"); 6 // 获取当前目录 7 var root = path.resolve(); 8 // 创建服务器 9 var sever = http.createServer(function(request,response){ 10var pathname = url.parse(request.url).pathname; 11var filepath = path.join(root,pathname); 12// 获取文件状态 13fs.stat(filepath,function(err,stats){ 14if(err){ 15// 发送404响应 16response.writeHead(404); 17response.end("404 Not Found."); 18}else{ 19// 发送200响应 20response.writeHead(200); 21// response是一个writeStream对象,fs读取html后,可以用pipe方法直接写入 22fs.createReadStream(filepath).pipe(response); 23} 24}); 25 }); 26 sever.listen(8080); 27 console.log('Sever is running at http://127.0.0.1:8080/');
index.js
转载于:https://www.cnblogs.com/wblx/p/10863592.html
推荐阅读
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- 接口|axios接口报错-参数类型错误解决
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- vue|Vue面试常用详细总结
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- css|我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧()
- css|css三角的做法及其案例