开篇先声明一个重点:
就是论文件模块的重要性,之前我一直以为 fs 模块不重要,后来遇到了问题,才发现我之前的自以为是是多么愚蠢的一件事,我现在知道了 fs 模块的重要性
fs 模块:用于对文件的操作,重要的是 读,写 其中最关键的是:读;
请大家想象一个情景,我们利用 nodejs 开启了一个服务器,开启服务器的目的,是想让别人访问,所以我们会把网址给别人,让他们访问,这样的话,就出了一个
问题,不能让他们直接访问我们的服务器吧,而且还是 js 文件,就算访问了也没有任何响应,如果我们在服务器里建一个根目录,让别人访问我们跟目录的文件,
里面放 html 文件 、css 文件 、js 文件 等等,只有这样我们才能让别人看到我们精彩绝伦的页面;
所有待会我会重点介绍 express 中的 文件处理模块
express 框架 他是 nodejs 的框架
1. 安装:npm i express
express 框架的好处,对 nodejs 的优化,非破坏性的,他的上面拥有众多的插件,他跟 npm 极其类似,像别的插件以他为载体,在他的基础上实现的功能
非破坏性:保留了原有的功能,添加方法,增强了原有的功能;
2. 配置服务器:
第一步:先引入模块:var express=require("express");
第二步:创建服务器:var server=express();
第三步:服务器端口:server.listen(8080);
3. 接受请求:
server.get("地址",function(req,res){}) // 这种写法
express 这一点特别好,像 原生 nodejs 写法,我们必须要在创建的服务器里面,书写代码逻辑,现在我们可以直接在外面书写代码逻辑,不需要考虑顺序等等
第一种:get 接受请求 // 只能接受 get 发送的请求
server.get("地址",function(req,res){}); // 具体接收的请求 req.query
第二种:post 接受请求 // 只能接受 post 发送的请求
server.post("地址",function(req,res){});
// post 接收请求还需要下载插件 body-parser
// server.use(bodyParser.urlencoded({extended: false})); // 这一步超级有必要 解析 body 中的字符,不然 req.body 无法接收
// 然后接收方式 req.body
第三种:use 接受请求 // 既能接受 get 发送的请求,也能接受 post 发送的请求
server.use("地址",function(req,res){}); // 就是上面的两种接受方式
4. 响应:
express 写法
res.send() 返回给 浏览器一个 json 对象 // 这是 express 新增的方法 且 不需要 写 res.end()
原生 nodejs 写法 :必须成对出现的
res.write() 返回给浏览器一个 字符串 // 且只能是字符串,返回别的数据类型就会报错
res.end() 且必须要 end() 才可以;
在 experss 框架中,文件处理显得非常简单
1. 下载插件 express-static
npm i express-static
2. 指定根目录:例如 指定 www 根目录
server.use(expressStatic("./www"));