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 文件】