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.url
,res.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 文件】