剧场模式
首页后端NodejsNodejs + Express 实现多用户博客系统

Node.js + Express 实现多用户博客系统 #3 pug 模板引擎

求知小风 · 真仙发布于
6

https://github.com/pugjs/pug

https://pugjs.org/language/includes.html

$ npm install pug --save

app.js

const express = require('express');
const path = require('path');

const app = express();

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

app.get('/', function(req, res) {
  let articles = [
    {
      id: 1,
      title: 'Title One',
      author: 'hfpp2012'
    },
    {
      id: 2,
      title: 'Title Two',
      author: 'hfpp2012'
    },
    {
      id: 3,
      title: 'Title Three',
      author: 'hfpp2012'
    }
  ]
  res.render('index', {
    articles: articles
  });
})

app.get('/articles/new', function(req, res) {
  res.render('new', {
    title: 'Add Article'
  });
})

app.listen(5000, function() {
  console.log("Server started on port 5000...");
})

views/layout.pug

doctype html
html(lang="en")
  head
  body
    block content
    br
    hr
    footer
      p Copyright © 2018

views/index.pug

extends layout

block content
  ul
    each article, i in articles
      li= article.title

views/new.pug

extends layout

block content
  h1 #{title}
11 条回复
  • lqfxz520 · 元婴
    lqfxz520 · 元婴 #1

    在这个教程中使用了模板引擎了,请问这是否造成了前后端耦合了?

  • 求知小风 · 真仙

    是的

  • zhou773 · 合体
    zhou773 · 合体 #3

    完全可以分开, 只需要send json 前端获取就拿到了 我用vue 已经重构了

  • HYSScc · 元婴
    HYSScc · 元婴 #4

    啥自行车?

  • laulau · 合体
    laulau · 合体 #5

    随风,你好,这个pug模版在NODE_ENV=production生产模式时,更改模版无法即时生效,必须重启项目才能生效,要如何设置才能不重启项目使更新的模版生效?

  • 求知小风 · 真仙

    这是生产环境呀 就是放到网站上的 手动重启是合理的 也是正常的 不过可以用一些工具自动部署重启

  • laulau · 合体
    laulau · 合体 #7

    谢谢回复,pm2可以做到吗?

  • 求知小风 · 真仙

    pm2 可以做到的,可以自动部署,不过有一个工具也可以 https://github.com/shipitjs/shipit

  • laulau · 合体
    laulau · 合体 #9

    谢谢,我研究下

  • suzhi82 · 合体
    suzhi82 · 合体 #10

    请问导出Mongoose Schema 的时候
    let Article = module.exports = mongoose.model('Article', articleSchema);
    写成
    module.exports = mongoose.model('Article', articleSchema);
    有区别吗?

  • 求知小风 · 真仙
    求知小风 · 真仙 #11

    Article 变量没被用到的话,应该没区别的,你可以 试下

加微信(qiuzhi99666)入群官方服务号
随机课程
跟我一起学 React & Ant Design

跟我一起学 React & Ant Design

17 个视频1 小时 32 分钟中级

Pro¥ 69.00¥ 55.20

React已完结

课程目录

1FreeNode.js + Express 实现多用户博客系统 #1 课程介绍

2FreeNode.js + Express 实现多用户博客系统 #2 搭建项目代码

FreeNode.js + Express 实现多用户博客系统 #3 pug 模板引擎

4ProNode.js + Express 实现多用户博客系统 #4 MongoDB 的安装与使用

5ProNode.js + Express 实现多用户博客系统 #5 Node.js 使用 Mongoose 连接 MongoDB 数据库

6ProNode.js + Express 实现多用户博客系统 #6 保存文章到 MongoDB

7ProNode.js + Express 实现多用户博客系统 #7 用 bower 来管理 Bootstrap 和 jQuery

8ProNode.js + Express 实现多用户博客系统 #8 显示文章的内容

9ProNode.js + Express 实现多用户博客系统 #9 修改文章的内容

10ProNode.js + Express 实现多用户博客系统 #10 删除文章

11ProNode.js + Express 实现多用户博客系统 #11 显示 flash 信息

12ProNode.js + Express 实现多用户博客系统 #12 表单验证

13ProNode.js + Express 实现多用户博客系统 #13 使用路由中间件重构代码

14ProNode.js + Express 实现多用户博客系统 #14 显示注册用户的表单

15ProNode.js + Express 实现多用户博客系统 #15 注册页面表单验证

16ProNode.js + Express 实现多用户博客系统 #16 注册功能加密密码保存到数据库

17ProNode.js + Express 实现多用户博客系统 #17 登录页面和 cookies 概念

18ProNode.js + Express 实现多用户博客系统 #18 登录认证工具 passport 介绍

19ProNode.js + Express 实现多用户博客系统 #19 使用 passport 实现登录功能 part 1

20ProNode.js + Express 实现多用户博客系统 #20 使用 passport 实现登录功能 part 2

21ProNode.js + Express 实现多用户博客系统 #21 实现注销功能

22ProNode.js + Express 实现多用户博客系统 #22 文章与用户关联实现访问控制 part 1

23ProNode.js + Express 实现多用户博客系统 #23 文章与用户关联实现访问控制 part 2(完结)

学员(49)
testtest233 · 练虚sdrb001 · 练虚wzjcool · 练虚双面刀片 · 练虚xjq · 元婴..1 · 元婴yangfucai · 金仙约里克 · 化神ASLuffy · 元婴李萌伟 · 元婴Matthew · 道祖testtest · 元婴
最新动态
testtest233 · 练虚学习到了10:07
sdrb001 · 练虚学习到了6:08
wzjcool · 练虚学习到了10:03
双面刀片 · 练虚学习到了2:12
xjq · 元婴学习到了0:00
统计信息
    学员: 15268
    视频数量: 883
    帖子数量: 433

© 汕尾市求知科技有限公司 | 粤ICP备19038915号 | 在线学员:130

Top