1

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 文件。
微信截图_20200525205235.png

读文件成功后会输出 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
图:【新建文件夹 files】

访问1.html 文件
图:【访问 1.html 文件】


铁头马
108 声望3 粉丝

如果你认为教育的成本太高,试试看无知的代价。