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

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

求知小风 · 元婴发布于
7

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}
12 条回复
  • 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 变量没被用到的话,应该没区别的,你可以 试下

  • 招财加菲猫 · 大罗

    这里说下我个人 观点 这个也是在一本express node 开发看到的 ,模版引擎是基于过去MVC 来说 的 老的MVC view 部分渲染生成通过controller控制器,那个时候需要 view 引擎, 现在如果做前后剥离画的 前端发送ajax 请求 获取json 数据完成渲染就行 看你如何 架构 如果 通过mvc 架构 你还是需要的 如果写不惯 pug 可以用下handlebar 感觉更像前端一点 写完可以把view 部分用vue react 从构下

加微信(qiuzhi99666)入群官方服务号
随机课程
TypeScript 结合 React 写三连棋游戏

TypeScript 结合 React 写三连棋游戏

13 个视频1 小时 2 分钟中级

Pro¥ 149.00¥ 119.20

TypeScript已完结新课程

课程目录

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(完结)

学员(67)
招财加菲猫 · 大罗wxb0520 · 大乘宏 · 道祖皮卡丘 · 合体webxiaobai · 元婴冀宇航 · 道祖maxmilia · 道祖霞 · 大乘生活充满节奏感 · 元婴Allen · 化神张琳 · 道祖vaveee · 道祖
最新动态
招财加菲猫 · 大罗学习到了3:25
wxb0520 · 大乘学习到了0:02
宏 · 道祖学习到了10:18
皮卡丘 · 合体学习到了9:32
webxiaobai · 元婴学习到了2:32
统计信息
    学员: 17643
    视频数量: 1035
    帖子数量: 427

© 汕尾市求知科技有限公司 | 粤ICP备19038915号 | 关注我们 | 在线学员:117

Top