开篇先声明一个重点:

    就是论文件模块的重要性,之前我一直以为 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. debezium关于cdc的使用(下)

    博文原址:debezium关于cdc的使用(下) 简介 debezium在debezium关于cdc的使用(上)中有做介绍.具体可以跳到上文查看.本篇主要讲述使用kafka connector方式来同 ...

  2. LeetCode——回文链表

    题目 给定一个链表的头节点head,请判断该链表是否为回 文结构. 例如: 1->2->1,返回true. 1->2->2->1,返回true. 15->6-> ...

  3. 2019-2020-1 20199319《Linux内核原理与分析》第五周作业

    系统调用的三层机制(上) 基础知识 1.通过库函数的方式进行系统调用,库函数用来把系统调用给封装起来. 2.CPU有四种不同的执行级别:0.1.2.3,数字越小,特权越高.Linux操作系统中采用了0 ...

  4. 002-loganalyzer装完报错no syslog records found

    1.登录mysql查看库Syslog中的表SystemEvents;是否有返回数据 # select * from Syslog.SystemEvents;  #又返回数据说明rsyslog配置正确, ...

  5. CRM项目讲解和django知识点回顾

    今天想把之前写的CRM项目梳理下,顺便回顾一下djiango的部分重要知识. 1.登录页面(包含简单验证码) 首先来看下CRM的登录页面,样式啥的不重要,大家可以去jquery ui的网站上或者其他地 ...

  6. C++中的变量属性小结

    其实在C++中,一个变量除了数据类型以外,还有3种属性: (1)存储类别:C++中允许使用auto,static,register,extern 4种存储类别. (2)作用域:指在程序中可以使用该变量 ...

  7. 【HEOI2015】小Z的房间

    题意 https://www.luogu.org/problemnew/show/P4111 题解 前置知识:矩阵树定理 不要问证明,我不会,用就完事了(反正一般也不会用到) 因为矩阵树定理就是求一张 ...

  8. echo(),print(),print_r()的区别?

    echo可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用.echo是php的内部指令,不是函数, ...

  9. oracle表的列合并(group by)和行合并(union all)

    group by select a.dn,t.dn dnt,a.BEGIN_TIME,a.R032_001,t.R032_001,a.R032_002,a.R032_003,a.R032_004, a ...

  10. 【洛谷P3957】跳房子

    题目大意:给定一个数轴和 N 个点,点有点权,现从 0 位置出发,初始时每次只能走 d 的距离,可以在数轴上任意位置停下,此时,会得到一个点权和.现允许支付 x 的费用,使得每次可以走的距离为一个范围 ...