浏览器中的JavaScript是没有能力操作文件的,但是node中的JavaScript有—-可以操作文件
想要在node中操作文件,需要先引入fs(file system)这个核心模块,在fs这个模块中,提供了所有的操作文件的API,使用require加载fs核心模块
加载核心模块
var fs = require('fs');
读取文件
fs.readFile(‘./data/hello.txt’,function(error,data){});
参数:
第一个参数:文件的路径,以./开头
第二个参数:回调函数
回调函数有连个参数:
成功:
data:数据
error:null
失败:
data:undefined 没有数据
error:错误对象
写文件
fs.writeFile('./data/你好.md','大家好,我是node.js',function(error){
})
参数:
第一个参数,要写入的文件路径
第二个参数:文件内容
第三个参数:回调函数(node 里面,涉及到文件,基本上都是回调函数,因为是异步的)
形参:error
成功:error 为null
失败 :error就是错误对象
node构建服务器
使用node 可以很轻松的构建服务器,node中专门提供了一个核心模块http
1.加载http核心模块
var http = require('http');
2.使用http.createServer()方法创建一个web服务器
此方法会返回一个实例
var server = http.createServer();
3.服务器要干嘛?
提供服务:对数据的服务
-
接受请求
注册request请求时间,
当客户端请求过来,就会自动触发服务端的request请求事件,然后执行第二个参数回调处理函数
server.on(‘request’,function(){
console.log(‘已经收到客户端请求’);
})处理请求:request请求对象
请求对象获取客户端的一些请求信息,例如请求路径
server.on(‘request’,function(request,response){
console.log(‘已经接收到了客户端请求!’+request.url)
})发送响应:response相应对象
响应对象用来给客户端发送一些消息
response对象有一个方法,response.write,可以给客户端发送响应数据
write可以使用多次,但是最后,一定要使用end结束响应,否则客户端会一直等待
server.on(‘request’,function(request,response){
console.log(‘已经接收到了客户端请求!’+request.url)
if (request.url == ‘/’) {
response.write(‘你好’)
response.end()
}
if (request.url == ‘/a’) {
response.write(‘node.js’)
response.end()
}
})
4.绑定端口号,启动服务器
server.listen(3000,function(){
console.log("成功启动服务器!")
})