《Node.js实战》第三章


1.了解Node Web程序的结构

  • models——数据库模型
  • midleware——中间件组件

学习到的小技巧

  1. process.env.PORT 可以通过命令行来设置
    set port = 3000// 设置process.env.PORT为3000
    set port = // 删除port环境变量
    const port = process.env.PORT || 3000; //如果port环境变量存在,就设置为环境变量,如果不存在,就设置为3000
  2. 命令行设置端口号
    const express = require('express');
    const app = express();
    
    const port = process.env.PORT || 3000;
    
    app.listen(port, () => {
        console.log("开始咯");
    });
    
  • PORT=3300 node index.js 就是设置 process.env.PORT为3300
  1. EJS指令<%- 变量%><%= 变量%>的区别

    // 用=号输出,就会被escapge转义编码 
    <%= VARIABLE_NAME %>
    
    // 用“-”输出原始内容, 不会被escape,
    <%- VARIABLE_NAME %>
    
  2. 删除指定id的写法

    app.delete('/articles/:id', (req, res, next) => {
      const id = req.params.id;
      Article.delete(id, (err) => {
        if (err) return next(err);
        res.send({ message: 'Deleted' });
      });
    });
    
  3. 除了在网页中输入地址访问,也可以通过命令行访问
    $ node index.js
    $ curl http://localhost:3000/articles
    《Node.js实战》第三章
    可以用来删除文章
    curl -X DELETE http://localhost:3000/articles/0

  4. 配置body-parser

    //不支持编码为表单的请求消息体
    app.use(bodyParser.urlencoded({ extended: false }));
    //支持编码为JSON的请求消息体
    app.use(bodyParser.json());
    
  5. 以后都按照这个规则配置bootstrap

    app.js文件中
    app.use(
        '/css/bootstrap.css',
        express.static('node_modules/bootstrap/dist/css/bootstrap.css')
    );
    
    //应用bootstrap
    <link rel="stylesheet" href="/css/bootstrap.css"> 
    
  6. res.format()的用法
    res.format()

  7. node-readability

    var read = require('node-readability');
     
    read('http://howtonode.org/really-simple-file-uploads', function(err, article, meta) {
      // Main Article
      console.log(article.content);
      // Title
      console.log(article.title);
     
      // HTML Source Code
      console.log(article.html);
      // DOM
      console.log(article.document);
     
      // Response Object from Request Lib
      console.log(meta);
     
      // Close article to clean up jsdom and prevent leaks
      article.close();
    });
    
上一篇:166万人被骗3000万元!最近全网刷屏的网红游戏翻车了?


下一篇:Gogs 远程命令执行利用