专栏首页十月梦想node读取html文件

node读取html文件

node和Apache是没有web容器的,node的目录下的同级文件是无法使用/filename进行访问的,因为node没有根目录门也没用web容器!

简单解释一下上面的话

比如我的node项目在d盘的nodedemo文件夹下file.js,同级目录下有index.html

file.js监听的端口是3001,可以使用127.0.0.1:3001进行访问node项目,但是这个index.html怎么访问呢?

经受Apache的洗脑,有同学会自作聪明,加/filename访问,即127.0.0.1:3001/index.html,发现这样做是不行的!因为ndoe没有web容器,没有web容器,没有web容器!重要的说三遍!那么这个问题如何解决呢!

首先我们会用到一个fs模块!就像http模块,这里的fs是文件系统模块!

代码实例

file.js.

//引入模块
const http =require("http");
//引入文件模块
const fs= require("fs");
//创建服务器
const server = http.createServer(function(req,res){
	//设置响应头
	res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"})
	//请求的路由地址
	if(req.url == "/" || req.url=="/index.html"){
		fs.readFile("index.html",function(err,data){
			//设置响应头
			res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
			//加载的数据结束
			res.end(data)
		})
	}
	else{
		res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
			//加载的数据结束
			res.end('<h1> 所需内容未找到404 </h1>')
	}
})
//监听端口
server.listen(3001,"127.0.0.1")

这样通过url路由访问127.0.0.1/或者127.0.0.1/index.html就可以访问到同级的index.html文件了!

下面简单解释一下这个fs.readFile(读取文件)

上述代码中看到请求的路由(req.url)后的读取文件

代码分析

		fs.readFile("index.html",function(err,data){
			//设置响应头
			res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
			//加载的数据结束
			res.end(data)
		})

需要找到读取的文件(路径很重要,不啊哟搞错了,这里是相对路径),然后一个回调函数,这个函数有两个参数err和data,

err表示错误,data表示这个加载的文件的数据!

设置http的响应头,res.end(data)页面输出加载的内容并结束!

简单的文件加载搞定,下面一篇我们继续介绍文件加载进阶篇!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CSS和html使用规则?

    十月梦想
  • ES6基础语法之箭头函数

    ES6直接在参数中=默认值就解决,上述中只是出一个参数的默认值,多个参数下ES6的便利性毋庸置疑!

    十月梦想
  • node通过路由获取不同用户信息

    具体功能:使用不同url判断是老师或者学生,老师的工号4-6位,学生学号8-10位,否则提示学号不正确,

    十月梦想
  • MySQL修复表的简单分析(r11笔记第19天)

    今天有个同事问我一个数据库的问题,如果开始他就把环境细节全都告诉我,可能我就知难而退了。等我大体明白了问题之后,发现好像背景比我想的要复杂多了。这是一个远程云主...

    jeanron100
  • 高质量编码-事件图层

    传统GIS项目中使用的图层通常是从GIS服务器中发布的WFSLayer或FeatureLayer服务,而这些GIS服务的数据源多是从GIS软件中...

    MiaoGIS
  • Scrapy实战5:Xpath实战训练

        今天给大家分享的是,如何在cmd和pycharm中启动自己的spider以及Xpath的基本介绍,并利用Xpath抓取伯乐在线单篇文章基本信息。

    叫我龙总
  • Go 语言反射和范型在 API 服务中的应用

      API 接口自然是要获取传过来的数据,不同接口要获取的数据自然也不一样,如果不做特殊处理,必然是每个接口都有一堆功能重复的从 request 里获取参数的代...

    用户2443625
  • .NET面试题系列[0] - 写在前面

    经过了四年的C#开发工作,我除了获得到的offer之外,还面试失败或拒掉了不少offer,加起来面试的次数至少有30次。这些面试有质量很高的,也有泛泛而谈的,不...

    s055523
  • COM编程_第一讲_深入COM框架以及实现简单的COM

    一丶我们要理解COM是什么(为什么理解) 现在很多人会用com(也就是ALT)但是不知道原理,如果改一点东西,那么整体的框架重来,因为你不懂改哪里,如果懂了,那...

    IBinary
  • 数据结构和算法——旋转打印链表

    1、问题描述 输入参数nnn为正整数,如输入n=5n=5n=5,则按行打印如下的数字: ? 2、问题的理解 这个问题是将数字1…n21…n21\dots n^2...

    zhaozhiyong

扫码关注云+社区

领取腾讯云代金券