首页 > 编程 > JavaScript > 正文

node.js 核心http模块,起一个服务器,返回一个页面的实例

2019-11-19 15:29:37
字体:
来源:转载
供稿:网友

如下所示:

let http=require("http"); //引入核心http模块let fs=require("fs");let mime={ '.js':'application/javascript', '.css':'text/css'}//创建一个函数,req代表客户端,res代表服务器可写流let listener=(req,res)=>{//res是可写流,有write和end if(req.url==="/"){  //设置编码  res.setHeader('Content-Type','text/html;charset=utf-8');  fs.createReadStream('index.html').pipe(res); }else{  if(fs.existsSync(`.${req.url}`)) {   res.setHeader('Content-Type',mime[req.url.match(//./w+$/)[0]] +';charset=utf-8');   fs.createReadStream(`.${req.url}`).pipe(res);  }else{   res.statusCode=404;    res.end();  } }}let port=8080;//创建一个服务,放入一个监听函数,let server=http.createServer(listener);//server.listen(port,function () { //启动成功后 console.log(`start${port}`);})

看上面代码,我们需要先创建三个文件

index.html

index.css

index.js

html文件里面,我们要引进css和js文件

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--服务端引用路径不支持相对路径--> <link rel="stylesheet" href="index.css" rel="external nofollow" > <script src="index.js"></script></head><body><div>你好,帅吗</div></body></html>

我们运行上面js文件时候,就会创建一个静态服务器,端口8080

然后返回客户端一个index.html文件

浏览器渲染这个html文件,我们对应的css和js就加载进去了

其实上面写法不是很简便,node里面有模块解决路径获取后缀名的问题,还有路径问题

let http=require("http"); //引入核心http模块let fs=require("fs");let mime=require("mime"); //解决文件类型let url=require("url");//创建一个函数,req代表客户端,res代表服务器可写流let listener=(req,res)=>{//res是可写流,有write和end let {query,pathname}=url.parse(req.url,true); if(pathname==="/"){  //设置编码  res.setHeader('Content-Type','text/html;charset=utf-8');  fs.createReadStream('index.html').pipe(res); }else{  if(fs.existsSync(`.${pathname}`)) {   //mime 第三方包 npm install mime --save   //mime.lookup可以通过文件路径后缀判断是什么类型的   res.setHeader('Content-Type', mime.lookup(pathname)+';charset=utf-8');   fs.createReadStream(`.${pathname}`).pipe(res);  }else{   res.statusCode=404;   res.end();  } }}let port=8080;//创建一个服务,放入一个监听函数,let server=http.createServer(listener);//server.listen(port,function () { //启动成功后 console.log(`start${port}`);})

以上这篇node.js 核心http模块,起一个服务器,返回一个页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表