node.js的模块引用

文件读写

//引入模块
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)
        })
    }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值