欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nodejs 读取外部文件显示在页面上实现方法

程序员文章站 2022-05-19 17:08:26
...

假设我们现在有一个 web.js文件和一个 1.html文件。

现在 web.js文件要读取 1.html文件里的类容 并且要把读取的内容显示在页面上
nodejs 读取外部文件显示在页面上实现方法
实现方法:

第一步

引入 http 核心模块和映入 读写文件 核心模块 (fs)

	let http = require('http')
	let fs = require('fs')

第二步

使用 http.createServer() 方法创建一个 WEB 服务器
	返回一个 server 实例

第三步

注册 request 请求事件
	server.on()
	request 请求事件处理函数,需要接受两个参数
		第一个参数 -> 请求对象:
			请求对象可以获取客户端的一些请求信息,列如路径(URL)
		第二个参数 -> 响应对象:
			就是请求完数据响应在页面上的信息
		
  server.on("request",function(req,res){
  let url = req.url
     if(url === "/"){
   		 res.setHeader('Content-Type','text/plain;charset=utf-8')
    	 res.end('初始数据请出入路径,来获取对应的数据')
   

		// 如果用户输入了 data 页面数据
	 } else if(url === "/data"){
    		/**
     		* 如果用户输入了 data 页面数据
     		*  1. 使用读文件 api -> fs.readFile
     		* 2.使用api ,error
     		*      函数里的回调 error,data。成功失败都返回什么
         	*      成功:
    	 	*      data: 数据
     		*      error: null

    		 *    失败:
    		 *    error: 错误对象
     		*    data: undefined (没有数据)
    	 */
    		fs.readFile('./1.html',function(error,data){

       			 if(error){

           	 res.setHeader('Content-Type','text/plain;charset=utf-8')
           	 res.end('文件读取失败,请检查代码')

        	} else {
            
           		 res.setHeader('Content-Type','text/html;charset=utf-8')
            		res.end(data)
            
       	 }
   	 })	
 }
})

这里再读取文件的时候有一个 res.setHeader(‘Content-Type’,‘text/html;charset=utf-8’) 其实他的意思是

Cntent-Type
	服务器最把每次响应的数据是什么类容类型都高深客户端,而且要正确的告诉
	不同的资源类型对应的 Content-Type 是不一样,
	对应的文本的数据,最好都加上编码,目的是为了防止中文解析乱码问题
通过网络发送文件
 发送的并不是文件,本质上来讲发送是文件的类容
	当浏览器收到服务器响应类容之后,会根据你的 Content-Type 进行对应的解析处理

完整的代码如下

//引入 http 核心模块 
let http = require('http')

// 引入 文件读写 模块
let fs = require('fs')

//1 使用 http.createServer() 方法创建一个 WEB 服务器
    //  返回一个 server 实例
let server = http.createServer()

// 2.注册 request 请求事件
/**
 * server.on
 * request 请求事件处理函数,需要接受两个参数
 *    第一个参数 -> 请求对象:
 *         请求对象可以获取客户端的一些请求信息,列如路径(URL)
 *     第二个参数 -> 响应对象
 *          就是请求完数据响应在页面上的信息
 */
server.on("request",function(req,res){
    let url = req.url
    if(url === "/"){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('初始数据请出入路径,来获取对应的数据')
       

    // 如果用户输入了 data 页面数据
    } else if(url === "/data"){
        /**
         * 如果用户输入了 data 页面数据
         *  1. 使用读文件 api -> fs.readFile
         * 2.使用api ,error
         *      函数里的回调 error,data。成功失败都返回什么
         *      成功:
         *      data: 数据
         *      error: null

         *    失败:
         *    error: 错误对象
         *    data: undefined (没有数据)
         */
        fs.readFile('./1.html',function(error,data){

            if(error){

                res.setHeader('Content-Type','text/plain;charset=utf-8')
                res.end('文件读取失败,请检查代码')

            } else {
                
                res.setHeader('Content-Type','text/html;charset=utf-8')
                res.end(data)
                
            }
        })
    }
})


// 3.绑定端口号,启动服务器
server.listen(3000,function(){
    console.log('服务器启动成功');
})

相关标签: js基础 nodejs