zoukankan      html  css  js  c++  java
  • express node 框架介绍

      开篇先声明一个重点:

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

  • 相关阅读:
    CodeForces 706C Hard problem
    CodeForces 706A Beru-taxi
    CodeForces 706B Interesting drink
    CodeForces 706E Working routine
    CodeForces 706D Vasiliy's Multiset
    CodeForces 703B Mishka and trip
    CodeForces 703C Chris and Road
    POJ 1835 宇航员
    HDU 4907 Task schedule
    HDU 4911 Inversion
  • 原文地址:https://www.cnblogs.com/shangjun6/p/11185472.html
Copyright © 2011-2022 走看看