开篇先声明一个重点:

    就是论文件模块的重要性,之前我一直以为 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"));

express node 框架介绍的更多相关文章

  1. node.js入门及express.js框架

    node.js介绍 javascript原本只是用来处理前端,Node使得javascript编写服务端程序成为可能.于是前端开发者也可以借此轻松进入后端开发领域.Node是基于Google的V8引擎 ...

  2. 深入浅出node.js游戏服务器开发1——基础架构与框架介绍

    2013年04月19日 14:09:37 MJiao 阅读数:4614   深入浅出node.js游戏服务器开发1——基础架构与框架介绍   游戏服务器概述 没开发过游戏的人会觉得游戏服务器是很神秘的 ...

  3. 在 node.js 的 express web 框架中自动注册路由

    该方法主要是动态注册自己写的 router . 注册器 router 文件名为 loader.js  . var express = require('express'); var fs = requ ...

  4. koa2框架介绍

    koa2框架介绍 1.koa2介绍:是当前最流行的node.js的框架,koa2是由express原来的人打造的.他的体积很小,但是扩展性很强. 2.koa2优点和缺点: 2.1.优点: .抛弃了ca ...

  5. [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍

    [连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目       录 第一章           通讯框架介绍... 2 1.1           通讯的本质... 2 1 ...

  6. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

  7. 使用express.js框架一步步实现基本应用以及构建可扩展的web应用

    最近过年在家有点懈怠,但是自己也不断在学习新的前端技术,在家琢磨了express.js的web框架. 框架的作用就是提高开发效率,快速产出结果.即使不使用框架,我们也会在开发过程中逐渐形成构成框架. ...

  8. 从Nest到Nesk -- 模块化Node框架的实践

    文: 达孚(沪江Web前端架构师) 本文原创,转至沪江技术 首先上一下项目地址(:>): Nest:https://github.com/nestjs/nest Nesk:https://git ...

  9. 安装nodeJs静态服务器(NodeJs Express MVC 框架)

    安装 NodeJs Express MVC 框架   新建项目文件夹   打开cmd 执行以下操作:   一.使用Express框架 1)安装express3 $: npm install -g ex ...

随机推荐

  1. O011、理解 virbr0

    参考https://www.cnblogs.com/CloudMan6/p/5308071.html   virbr0 是KVM 默认创建的一个Bridge ,其作用是为该宿主机上的虚机提供NAT上网 ...

  2. luogu P4365 [九省联考2018]秘密袭击coat

    luogu 这里不妨考虑每个点的贡献,即求出每个点在多少个联通块中为第\(k\)大的(这里权值相同的可以按任意顺序排大小),然后答案为所有点权值\(*\)上面求的东西之和 把比这个点大的点看成\(1\ ...

  3. vue iview面包屑

    简单看一下vue,iview的面包屑怎么写呢? 简单的思路:1.获取到路由记录$route.matched 2.渲染 效果: 一.$route.matched 官网地址:https://router. ...

  4. python cv2截取不规则区域图片

    知识掌握 cv2.threshold()函数: 设置固定级别的阈值应用于多通道矩阵,将灰度图像变换二值图像,或去除指定级别的噪声,或过滤掉过小或者过大的像素点. Python: cv2.thresho ...

  5. deep_learning_tensorflow_get_variable()

    maxwell_tesla tf.get_variable函数的使用 tf.get_variable(name,  shape, initializer): name就是变量的名称,shape是变量的 ...

  6. json文件处理四个函数

    import json # json.dumps(json_dict,ensure_asscii = False)函数的使用,将字典转化为字符串 ensure_ascii=False将Unicode编 ...

  7. Java语言基础(5)

    1 if-else语句(二) 案例:Demo1~Demo4 import java.util.Scanner; public class Demo1 { //在main方法中,从控制台输入任意的一个整 ...

  8. mysql5.7.26 基于GTID的主从复制环境搭建

    简单工作原理: (1)从库执行 change master to 语句,会立即将主库信息记录到master.info中 (2)从库执行 start slave语句,会立即生成IO_T和SQL_T (3 ...

  9. Kattis - heapsoffun Heaps of Fun (概率密度函数+dp)

    题意:有一棵含有n个结点(n<=300)的根树,树上每个结点上的权值是从[0,ai](ai<=1e9)区间内随机的一个实数,问这棵树能形成一个最小堆的概率. 由于结点取值范围是1e9而且是 ...

  10. 构建的Web应用界面不够好看?快试试最新的Kendo UI R3 2019

    通过70多个可自定义的UI组件,Kendo UI可以创建数据丰富的桌面.平板和移动Web应用程序.通过响应式的布局.强大的数据绑定.跨浏览器兼容性和即时使用的主题,Kendo UI将开发时间加快了50 ...