13 - express

作者: Elvmx | 来源:发表于2019-01-17 01:31 被阅读1151次

    Express

    基于 Node.js 平台,快速、开放、极简的 Web 开发框架 。

    Hello World

    const express = require('express');
    const app = express();
    
    app.get('/', function(req, res) {
      res.send('hello world');
    });
    
    app.listen(3000, () => {
      console.log('服务启动成功! http://localhost:3000');
    });
    
    

    Request

    Express 帮我们在 request 对象上,做了一些封装,新增了如下一些常用属性or方法

    • req.query:获取URL的查询参数串
    • req.body: 获取请求主体(post数据,需要设置中间件函数 json与urlencode)
    • req.cookies:获取Cookies (需要使用 cookie-parser 中间件)
    • req.hostname / req.ip:获取主机名和IP地址
    • req.params:获取路由的parameters
    • req.path:获取请求路径
    • req.protocol:获取协议类型
    • req.get():获取指定的HTTP请求头

    Response

    Express 帮我们在 response 对象上,做了一些封装,新增了如下一些常用属性or方法

    • res.set():设置HTTP头,传入object可以一次设置多个头
    • res.status():设置HTTP状态码
    • res.send():传送HTTP响应
    • res.redirect():设置响应的Location HTTP头,并且设置状态码302
    • res.json():传送JSON响应
    • res.cookie(name,value [,option]):设置Cookie
    • res.clearCookie():清除Cookie
    • res.download():传送指定路径的文件
    • res.sendFile(path [,options] [,fn]):传送指定路径的文件 -会自动根据文件extension设定Content-Type
    • res.render(view [, locals] [, callback]) 渲染一个view

    路由

    静态资源文件托管

    express.static()
    

    生成器 (脚手架工具)

    // 全局安装
    npm install express-generator -g
    
    // 生成项目
    express --view=ejs myapp
    

    EJS 模板引擎

    官网 - https://ejs.bootcss.com/

    "E" 代表 "effective",即【高效】。EJS 是一套简单的模板语言,帮你利用普通的 JavaScript 代码生成 HTML 页面。EJS 没有如何组织内容的教条;也没有再造一套迭代和控制流语法;有的只是普通的 JavaScript 代码而已。

    EJS 模板引擎 - 常用标签

    1. <% %> 流程控制标签
    2. <%= %> 输出标签 (会对 HTML 代码转义)
    3. <%- %> 输出标签 (不对 HTML 代码转义)
    4. <%# %> 注释标签
    5. <%% 会输出 '<%'

    include 包含

    <ul>
      <% users.forEach(function(user){ %>
        <%- include('user/show', {user: user}); %>
      <% }); %>
    </ul>
    

    相关文章

      网友评论

        本文标题:13 - express

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