文件读写
//引入模块
var fs = require('fs');
// 读取文件
fs.readFile('./tt.txt', 'utf-8', function(err, data) {
console.log(data);
})
// 写入文件
fs.writeFile('./tt.txt', 'node.js中文网', function(err) {
if (!err) {
console.log('写入成功')
}
});
// 追加内容
fs.appendFile('./tt.txt', '\nNode.js', function(err) {
if (!err) {
console.log('写入成功')
}
});
http模块
实现http服务器
var http = require('http'); // 引入http模块
var server = http.createServer();// 创建一个服务器实例对象
server.listen(8000, function(){
console.log('请访问localhost:8000');//启动监听,监听成功的函数
})
// 4.为这个服务器实例对象注册request请求处理函数
// 请求处理函数function(对象1, 对象2){}
// 形参1: request请求对象, 获取到当前请求的路径,方法等本次请求的所有信息
// 形参2: response响应对象 发送响应数据
server.on('request', function(request, response){
response.write('nihao');//向客户端页面返回数据
response.end();//结束响应
})
进一步优化, 响应一个html页面
var http = require('http'); // 引入http模块
var fs = require('fs');
var server = http.createServer();// 创建一个服务器实例对象
server.listen(8000, function(){
console.log('请访问localhost:8000');//启动监听,监听成功的函数
})
// 响应一个完整的html页面
server.on('request', function(request, response){
const url = request.url; // 获取请求的路径
// 设置响应头, 告诉客户端,解析的编码格式,按什么解析
response.setHeader('Content-Type', 'text/html', charset=utf-8);
if (url == '/') {
fs.readFile('./index.html', 'utf-8', function(err, data){
response.end(data)
})
} else {
// 如果请求的index.html有其他路径的内容,
fs.readFile('.' + url, 'utf-8', function(err, data) {
response.end(data)
})
}
})
使用http模块,将当前目录下的文件信息显示在客户端上
var http = require('http'); // 引入http模块
var fs = require('fs');
var moment = require('moment');// 第三方模块
var server = http.createServer();// 创建一个服务器实例对象
server.listen(8000, function(){
console.log('请访问localhost:8000');//启动监听,监听成功的函数
})
// 绑定请求事件,接收请求,响应请求
server.on('request', function(request, response) {
const url = request.url;
if (url == '/'){
fs.readFile('./index.html', 'utf-8', function(err, data){
response.end(data)
})
} else if (url == './file_list') {
// 获取当前目录的文件
fs.readdir('./', function(err, data){
for(let i = 0; i < data.length; i++){
fs.stat(data[i], function(err, files) {
if (files.isFile()) { // 是否是文件
data_arr[i].type = 'f';
} else {
data_arr[i].type = 'd';
}
data_arr[i].name = data[i]
data_arr[i].size = files.size
data_arr[i].mtime = moment(files.mtime).format('YYYY-MM-DD hh:mm:ss')
// console.log(data_arr[i])
// moment第三方模块格式化时间
if (i + 1 == data.length) {
console.log(data_arr)
response.end(JSON.stringify(data_arr))
}
})
}
})
} else {
fs.readFile('.' + res.url, function(err, data) {
response.end(data)
})
}
})