nodejs入门一简单的服务和文件请求

hello world!

知识点:response.write(), response.end()

const http = require('http')

let server = http.createServer(function(request, response){

 response.write('hello world!'); // 把内容发个客户端(浏览器)
 response.end() // 结束请求,断开链接,不写end浏览器会以为数据没发完,一直转圈

})
server.listen(8080)

如何从文件中读写数据

知识点: fs模块,fs.writeFile(path, data, callback)fs.readFile(path, callback)

const fs = require('fs');
  
fs.writeFile('./a.txt', '学习fs模块', function(err){
 if(err){
    console.log('写入失败')
 }else{
    console.log('写入完成')
 }
})

fs.readFile('./a.txt', function(err, data){
 if(err){
    console.log(err)
 }else{
    console.log(data)
    // console.log(data.toString()) // 如果只是文本,可以用同toString()方法 
 }
})

node XX.js运行文件,提示写入完成,会发现我们的目录下出现了 a.txt 文件。

读文件成功后会输出 Buffer 数据,Buffer数据是原始的二进制数据,因为nodejs出了处理文字数据外,也会处理文件、图片数据等,随便的转成字符串有的数据就毁了。

buffer 数据转换成字符串是给人看的,机器不需要看,直接返回给客户端可以直接显示

请求文件

知识点:req.urlres.writeHeader

const http = require('http')
const fs = require('fs')

let server = http.createServer(function(req, res){
     console.log(req.url) // 查看请求的url
     fs.readFile(`files@{req.url}`, (err, data)=>{
         if(err){
             res.writeHeader(404)
             res.write('Not Found!')
             res.end();
         }else{
             res.write(data); // 注意: 这里没有转换成字符串,浏览器可以直接显示。
             res.end();
         }
     })
})
server.listen(8080)

我们新建文件夹 files, 新建一个1.html文件,写入一些内容。
运行node服务后,我们请求 127.0.0.1:8080/1.html, 可以看到我们可以访问文件了。

图:【新建文件夹 files】


图:【访问 1.html 文件】

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理