用nodejs创建服务器显示html页面
nodejs版本:v10.14.2
1.首先准备一个简单的html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>nodejs显示html</title>
</head>
<body>
<h1>看到这句话表示html页面成功显示了。</h1>
</body>
</html>
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();
因为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/');


"use strict";
const http = require("http"),
fs = require("fs"),
path = require("path"),
url = require("url");
// 获取当前目录
var root = path.resolve();
// 创建服务器
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/');
index.js
用nodejs创建服务器显示html页面的更多相关文章
- 使用nodejs搭建服务器显示HTML页面
首先安装express 在命令行输入:npm install express -g 安装完成后可以查看安装情况:npm ls -g 然后创建server.js文件 var express = requ ...
- Express与NodeJs创建服务器的两种方法
NodeJs创建Web服务器 var http = require('http'); var server = http.createServer(function(req, res) { res.w ...
- nodejs - 创建服务器(1)
在此之前,确保你已经安装了Node(并且你很会折腾) - 有人说,Java脚本和Java最本质的区别就是一个超会更新,一个死守旧. 如果你没有安装,请去官网下载并且安装:http://nodejs.c ...
- nodejs获取服务器数据到页面
const Koa = require('koa'); const Router = require('koa-router'); const app = new Koa(); const route ...
- nodejs创建服务器
'use strict'; //加载http模块: const http = require('http'); //创建一个http服务: const server = http.createSe ...
- nodejs搭建服务器 和 操作数据库
1.express框架:是一个简洁而灵活的 node.js Web应用框架.一般的项目都是基于这个框架开发的.http://www.runoob.com/nodejs/nodejs-express-f ...
- Nodejs:npm run build之后,dist\index.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败
问题描述:Nodejs:npm run build之后,dist\index.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败 解决方法:将打包后的d ...
- Nodejs学习笔记(3) 创建服务器:Web 模块(http)与 express 框架
目录 参考资料 1. 使用 http 模块创建服务器 1.1 实现思路及代码 1.2 HTTP 结构 1.2.1 Request中的重要字段 1.2.2 Response 头信息:文件类型.状态码.连 ...
- nodejs创建http服务器
之前有简单介绍nodejs的一篇文章(http://www.cnblogs.com/fangsmile/p/6226044.html) HTTP服务器 Node内建有一个模块,利用它可以很容易创建基本 ...
随机推荐
- ZOJ 3956 Course Selection System [01背包]
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3956 题意:就是给你Hi,Ci的值,问怎么取使得下面那个式子的值最大: 理 ...
- iOS 避免循环导入及自定义控件delegate和protocol的相互引用的问题
在OC中一般来说ClassA同ClassB想要避免重复import的话两种方案 1. 若ClassA.h 头文件中已经导入了ClassB,即#import "ClassB.h" , ...
- sqlite数据库文件导入到sqlserver 2016-03-26 21:55 1292人阅读 评论(1) 收藏
最近在公司做项目,需要做两个版本,都是cs的,然后要求是一个单机版,自带数据库,另一个要进行局域网内的连接,所以公司的大牛设计是,局域网版的用sqlserver2008,单机版的则用sqlite.然后 ...
- shell学习(19)- find查找命令
Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录 ...
- 【NS2】各种TCP版本 之 TCP Tahoe 和 TCP Reno(转载)
实验目的 学习TCP的拥塞控制机制,并了解TCP Tahoe 和 TCP Reno的运行方式. 基础知识回顾 TCP/IP (Transmission Control Protocol/Interne ...
- Uva 568 【大整数】
UVa568 题意:求N!(N<=10000)的最后一位非0数. 10000以内5^5 = 3125最多可以影响后5位.所以直接保存后五位就行. #include<iostream> ...
- c++:三
C++:三 对于共享数据的保护,我们可以使用常量,在使用数据的同时也防止了数据被修改,即可有效的保护数据. 常对象 常对象必须在定义对象时就使用"const"关键字将指定对 ...
- Myeclipse jdk的安装
- javascript简介 标签: javascript 2015-11-13 12:13 1712人阅读 评论(39)
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚本是通过嵌入在HTML中来实现 ...
- Flask学习之九 分页
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ix-pagination 中文翻译地址:http:// ...