明霞山资源网 Design By www.htccd.com
如下所示:
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="/UploadFiles/2021-04-02/index.js">我们运行上面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模块,起一个服务器,返回一个页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
nodejs,http模块
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。