美文网首页
express框架学习

express框架学习

作者: 木易先生灬 | 来源:发表于2019-03-28 23:22 被阅读0次
    1. url 和 资源的 映射 ( 一一对应 )关系
        前端 发送一个请求 必须要有一个请求地址url
        后端 根据这个前端请求的地址url, 响应一些数据回去.
    
    1. express简单使用 (了解)
        1) 新建一个项目文件夹 app
    
        2) 进入这个文件夹 初始化项目 生成 package.json
            cd app
            npm init -y
    
        3) 局部安装(在当前项目文件夹里面安装)express,并且保存到 依赖列表 里面
            cnpm i express --savex
    
            备注: 装完以后 会生成一个 node_modules 文件夹, express就在里面(npm 下载的第三方模块都在里面)
    
        4) 在当前目录新建一个 app.js 文件 在这个文件里面来 写 express 的代码
            a) 引入express模块
                const express = require('express');
    
            b) 使用express() 方法 创建一个 app 应用
                const app = express();
    
            c) 使用 app 来 接收前端的请求 (get方式  post方式)
                app.get('前端请求的url', (req, res) => {
                    // req :  请求对象 负责接收前端(浏览器 )发送过来的数据
                    // res:  响应对象 负责响应数据给前端(后端给前端发送数据)
                })
    
            d) 监听端口
                app.listen(端口号, () => {
                    console.log('服务器启动成功...')
                })
    
    1. express-generator脚手架的使用(快速生成一个项目的工程目录)
        1) 全局安装 express-generator (安装它的目的 是为了 运行 express命令 )
            cnpm i express-generator -g
    
            备注: 可以运行命令 express --version 检测一下 是否能使用
        
        2) 可以使用 express 命令 来快速从创建一个项目目录
            express 项目文件夹的名字 -e
            示例: express demo -e
    
            备注: 
                项目文件夹的名字:  会自动生成一个项目文件夹
                -e:  使用 ejs 模板
    
        3) 进入项目目录, 运行 cnpm i, 一次性安装所有的依赖模块
            cd demo 
            cnpm i
    
        
        4) 启动项目
            a)  方式一: (不推荐)
                npm run start  (start有点特殊 可以缩写 npm start)
    
                备注: npm run 可以运行 package.json 里面 script里面的内容
    
            b)  方式二 (*****推荐)
                i) 打开 app.js 文件 , 在文件尾部(在暴露出去之前),可以自己监听端口
                    app.listen(端口号, () => {
                        console.log('服务器启动成功...')
                    })
    
                ii) 启动项目
                    node app
    
            补充:  因为每次都要动服务器代码, 都需要重启服务器,很烦
                   可以全局安装一个模板 nodemon 
                   1) 全局安装 nodemon
                       cnpm i nodemon -g
    
                   2) 使用nodemon 替代 node 启动项目
                      原来:  node app 
                      现在:  nodemon app
    
    1. 项目目录详解:
        bin: 启动目录 里面包含了一个启动文件  www 默认监听端口是 3000 (不用)
        node_modules:   所有安装的依赖模块 都在这个文件夹里面
        public:  所有的前端静态资源  html css image  js 
        routes:  放的是 路由 文件 (默认有两个)
                 路由主要定义 url 和 资源 的映射关系 ( 一一对应关系  )
                 主要用来接收前端发送的请求 响应数据给前端
    
        views: 主要放置 ejs 后端模板文件
        app.js:  入口文件(主文件) 总路由 (其他的路由 要由它来分配)
        package.json:  包描述文件  最重要的是 依赖的模板列表 dependencies
                       依赖列表里面的所有模板 可以通过 cnpm i  一次性全部安装
    
    1. 路由分配:
        1) 在routes下面 新建一个子路由文件
            vip.js
    
        2) 在主路由文件 app.js里面 改动 两处
            a) 在第8行左右 引入路由
                var vipRouter = require('./routes/vip');
    
            b) 在25行左右 分配路由  /vip 下面的请求 都交给vip路由处理
                app.use('/vip', vipRouter);
    
        3) 以上步骤完成, 就可以在vip.js 这个路由里面 接收前端发送的 /vip下面的请求
    
    
    1. res响应对象(*****)
        res主要负责 后端向前端 响应(发送)数据(如果接收了请求 不响应,会一直挂起(转圈圈))
    
        主要方法:
            1) res.send() (*****)  // 万能方法  可以响应JSON 字符串 HTML script 
            2) res.json()  // 主要给前端响应 JSON 数据
            3) res.jsonp() // 主要给前端响应 JSON 数据(针对跨域请求)
    
            4)  数据和模板在后端合并渲染 生成HTML 返回给前端
                 res.render('ejs模板文件', {JSON对象格式的数据})
            5) res.download('要下载的文件的路径', '标题')
            6) res.redirect("要跳转到的新的网址url")
            7) res.status(状态码404).render("ejs模板名字", {JSON对象格式的数据})
    
    1. req请求对象(*****)
        req主要负责 接收前端发送过来的数据(参数)
    
        主要方法:
            a) 接收 get 方式的请求的参数
                req.query.参数的key值
    
            b) 接收 post 方式的请求的参数
                req.body.参数的key值
    
            c) 补充:
                req.ip  获取浏览器的ip地址
    

    相关文章

      网友评论

          本文标题:express框架学习

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