#express

作者: 大佬教我写程序 | 来源:发表于2021-04-14 14:25 被阅读0次

    在文件操作的相对路径中

    ./data/a.txt 相对于当前路径
    data/a.txt 相对于当前路径
    /data/a.txt 绝对路径,当前文件模块所处磁盘根目录
    c:/xx/xx... 绝对路径

    express

    修改完代码自动重启

    • 我们这里可以使用第三方命名工具:nodemon来帮助我们频繁修改代码重启服务器的问题,nodemon是一个基于node.js开发的第三方命令行工具,我们使用的时候需要独立安装:
    • 全局安装
    npm install --global nodemon
    
    • 安装之后使用:
    nodemon app.js
    
    • 通过下列代码来验证是否安装成功
    nodemon -version
    
    • 只要是使用 nodemon app.js启动服务,他会监视这个app.js文件是否发生了变化,如果发生了变化,会自动重启服务器

    hello world的小demo

    // 0.安装
    //1.引包
    var express = require('express');
    //创建服务器应用程序,相当于原来的http.createServer
    var app = express();
    //当服务器收到get请求时,调用回调函
    app.get('/', function(req, res) {
            res.send('hello world');
        }) 
        //绑定端口号
    app.listen(3000, function() {
        console.log('server is running... 3000');
    })
    

    基本路由

    • 路由 = 请求方法+请求路径+请求处理函数
    • 路由其实就是一张表,这个表里有具体的映射关系
      就好比,要找一个人的电话号码,那我们就要去电话本里去找,找到对赢得人,然后就有了对方的电话号码,而路由就是这张表,在通过get/post获取信息时,就是在这张表里查信息

    通过express创建一个公共的public文件夹

    • 方法1(第一个参数/public/,可以用其他代替,比如/a/):
      app.use('/public/',express.static('./public/'))
    • 方法2(没有第一个参数,请求路径跳过public文件夹路径):
      app.use(express.static('./public/'))

    在express里使用模板引擎

    • 安装art-template 和 express-art-template包
    npm install --save art-template
    npm install --save express-art-template
    
    • 引包
    var express = require('express');
    var app = express();
    
    • 配置
    // 第一个参数,表示,当渲染以 .art 结尾的文件的时候,使用 art-template 模板引擎(可修改)
    app.engine('art',require('express-art-template'))//express-art-template是依赖eart-template包的
    
    • 使用
    // Express 为 Response 相应对象提供了一个方法:render
    // render 方法默认是不可以使用,但是如果配置了模板引擎就可以使用了
    // res.render('html模板名', {模板数据})
    // 第一个参数不能写路径,默认会去项目中的 views 目录查找该模板文件
    // 也就是说 Express 有一个约定:开发人员把所有的视图文件都放到 views 目录中
    app.get('/', function (req, res) {
      res.render('index.html', {
       title: 'hello world'
      })
    })
    

    如果想要修改默认的views 视图渲染存储路径,可以:

    //注意:第一个views千万别写错
    app.set('views',目录路径)
    

    express中获取get得到的数据:

    • req.query可得到对象数组
    • 在form表单中,action属性表示提交之后要跳转的url,method表示信息提交的方式

    express中获取post的数据

    在express中没有内置获取表单post请求体的API,我们需要第三方包:body-parse

    • 安装
      npm install --save body-parser
    • 配置
    var express = require('express');
    //引包
    var bodyparse = require('body-parser');
    var app = express();
    //加入配置,只要加入此配置,require就会多出来一个body属性,所以就可以通过require.body来获取表单post请求的数据了,
    app.use(bodyParser.urlencoded({ extended: false }))
    // parse application/json
    app.use(bodyParser.json())
    
    • 使用
    app.post('/post', function (req, res) {
      // 1. 获取表单 POST 请求体数据
      // 2. 处理
      // 3. 发送响应
    
      // req.query 只能拿 get 请求参数
      // console.log(req.query)
    
      var comment = req.body
      comment.dateTime = '2017-11-5 10:58:51'
      comments.unshift(comment)
    
      // res.send
      // res.redirect
      // 这些方法 Express 会自动结束响应
      res.redirect('/')
      // res.statusCode = 302
      // res.setHeader('Location', '/') 
    })
    

    回调函数

    image.png

    相关文章

      网友评论

          本文标题:#express

          本文链接:https://www.haomeiwen.com/subject/uhewkltx.html