回顾:上节课咱们搭建了 一个简易的服务器!其实也不能说是一个真正的服务器!不可能咱在createServer的回调函数里面老是用swtich来判断吧,那如果页面有很多怎么办,不可能有多少页面就来case多少吧!
回顾上节课代码:
const http=require('http');
var server=http.createServer(function(req,res){//req,浏览器请求的信息;res服务器给浏览器输出东西的
switch (req.url){//判断浏览器请求的信息
case '/aaa.html': //当浏览器请求的是http://localhost:9090/aaa.html
res.write('这是aaa.html页面');//给前台浏览器输出
break;
case '/aaa.jpg': //当浏览器请求的是http://localhost:9090/aaa.jpg
res.write('这是aaa.jpg图片');//给前台浏览器输出
break;
default:
res.write('请求失败404');//假设后台有前面信息,其他的都没有,那访问的时候就提示404,当然这不是真的404,后面会弄真的!
break;
}
res.end();//结束给前台东西
});
server.listen(9090);
注意:因为不可能有多少页面就来case判断一下,所有咱们今天再学习一个东西全称叫:file system,他是nodeJS里面其中的一个模块--- fs文件模块对系统文件及目录进行读写操作!
接下来咱们就来看一下这个fs模块,怎么来进行对系统文件的读写:
1.首先它也是一个模块,和http一样,只要需要 var fs=require(‘fs’); 就可以直接用fs对象了!
《1》先来读----写法:fs.readFile(要读取的文件,回调函数);
例子:
先在项目文件里创建一个a.txt(里面写点内容),再创建一个读取文件的js文件 可以取名:fs.js!
fs.js里的代码:
var fs=require('fs');
//fs.readFile(要读取的文件,回调函数);
fs.readFile('a.txt',function(err,data){
if(err){}else{
console.log(data.toString());
}
})
最后在命令行里面执行fs.js------------打印的结果就是咱a.txt里面的内容!《1》先来读----写法:fs.writeFile(要写的文件,要写入的内容,回调函数);
例子:先在项目文件里创建一个b.txt(里面不写内容),再创建一个读取文件的js文件 可以取名:fs1.js!
fs1.js里的代码:
fs.writeFile('b.txt','wo ai wo de qin ren',function(err){//这里就没有data了!
if(err){
console.log('404');
}else{
}
})
最后在命令行里面执行fs1.js------------你打开b.txt就会发现里面已经被写入了“wo ai wo de qin ren”!
========================================================================
既然咱们学了这个fs模块了,就可以把这个模块运用到服务器当中了!!!
例子:
1.首先当然是创建项目文件了:
项目文件夹取名node_server:
---》文件夹里面新建二级文件夹取名www(这里面是放咱们要访问的页面、图片、视频等前台的东西)
-----》www文件夹里面再创建一个index.html(里面写个红色div)
---》文件夹里面新建server.js这个 创建服务器的js文件!(这里么就是用来创建服务器的代码文件)
2.在server.JS里面写代码:
var http=require('http');//创建一个http模块
var fs=require('fs');//创建一个fs功能模块
var server=http.createServer(function(req,res){//创建一个服务器对象
//req.url 代表的是根目录里的 '/index.html'
//而咱现在想要访问到index文件,必须要这个路径 './www/index.html'
// 为了写活它,所以咱就拼接一下 './www'+req.url (因为人家有可能里面还有aaa.html)
var file_name='./www'+req.url; //用变量把它保存一下!
fs.readFile(file_name,function(err,data){//使用fs模块里面的读取功能
if(err){
res.write('404');//路径错误情况
}else{
res.write(data);//访问http://localhost:8080/index.html时候,正确出现那个你写的红色div的页面!
}
res.end();//这里要注意的是这个end,必须写在读取信息里面,否则它在外面时候比你读取信息还要快加载,会报错!
})
})
server.listen(8080);
----------------------------------------------------------------------------------------------------------------------------------
以上就是咱们初识nodeJS的在搭建简单的服务器里加入fs文件模块对系统文件及目录进行读写操作!下节课讲:http数据解析-get
注意:本课程是一套简单易学的视频编写而成的博客内容,我会一节一节奉献,而此视频是由原智能社ceo--blue大神所讲,腾讯课堂价格太贵!这里免费送大家前7节课:
链接: https://pan.baidu.com/s/1LdIqtLqe4oQY0Lx02lESKQ 密码: 9h1h
第8-37节课如果需要,请添加威信号: webcsdn 威信名:web学习视频全家桶!
添加时候请注明:web前端