1.http
1.1 createServer
使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。
const http = require('http');
http.createServer((request,response) => {
response.writeHead(200,{'Content-Type':'text/plain'});
response.end('Hello World\n');
}).listen(888);
2.fs
2.1 readFileSync('./data.txt',[option])
option: {encoding: 编码格式,默认为null, flag: r|w 默认为r} 或者 '编码格式'
注意: 当不指定encoding事返回的是二进制buffer ,当制定时返回string
const http = require('http');
const fs = require('fs');
http.createServer((request,response) => {
const data = fs.readFileSync('./data/data.txt')
console.log(data.toString())
response.writeHead(200,{'Content-Type':'text/plain'});
response.end('Hello World\n'+data.toString());
}).listen(888);
结果:
乱码,编码问题,系统默认是gbk,而txt文件是utf-8
解决办法:
(1)参考这篇文章 读取文件->按二进制编码->再按utf-8编码
const http = require('http');
const fs = require('fs');
const iconv = require('iconv-lite');
http.createServer((request,response) => {
const data = fs.readFileSync('./data/data.txt')
var buff = new Buffer(data,'binary'); //用于文件不是utf-8编码
const str = iconv.decode(buff,'utf-8'); //用于文件不是utf-8编码
response.writeHead(200,{'Content-Type':'text/plain;charset=utf-8'}); //指定页面的编码格式
response.end('Hello World你好\n'+str+'\n'+data.toString());
}).listen(888);