基于node.js的博客搭建

一个博客应当具备哪些功能?

前台展示

  • 点击下一页,可以点击分类导航。
  • 可以点击进入到具体博文页面
  • 下方允许评论。显示发表时间。允许留言分页。
  • 右侧有登录注册界面。

后台管理

  • 管理员账号:登陆后看到页面不一样,有后台页面。
  • 允许添加新的分类。从后台添加新的文章。
  • 编辑允许markdown写法。
  • 评论管理。

安装模块

  • Express

    一个简洁灵活的node.js WEB应用框架,提供一系列强大的特性帮助我们创建web应用。

  • Mongodb

    用于保存产生的数据

  第三方模块和中间件:

  • bodyParser,解析post请求数据
  • cookies:读写cookie
  • swig:模板解析引擎
  • mongoose:操作Mongodb数据
  • markdown:语法解析生成模块

 创建应用

const express=require('express')
const app=express()
app.get('/',(req,res,next)=>{
  res.send('<h1>欢迎光临我的博客!</h1>')            // req:request对象,保存客户请求相关的一些数据——http.request 
                              // res:response对象,服务端输出对象,停工了一些服务端相关的输出方法——http.response
                              // next:方法,用于执行下一个和路径相匹配的函数(行为)。
}) app.listen(
8010,()=>{ console.log('123') })

在Express框架下,可以通过app.get()app.post()等方式,把一个url路径和(1-n)个函数进行绑定。当满足对应的规则时,对应的函数将会被执行,该函数有三个参数res,req,next

模板引擎的配置和使用

// 定义模板引擎,使用swig.renderFile方法解析后缀为html的文件
var swig=require('swig');
app.engine('html',swig.renderFile);

// 设置模板存放目录
app.set('views','./views');
// 注册模板引擎
app.set('view engine','html');

swig.setDefaults({cache:false});

配置模板的基本流程是:

请求swig模块=>定义模板引擎=>注册模板引擎=>设置调试方法

我们可以使用var swig=require('swig');定义了swig方法。

以下进行逐行解析——

扫描二维码关注公众号,回复: 3645232 查看本文章

定义模板引擎

app.engine('html',swig.renderFile);

第一个参数:模板引擎的名称,同时也是模板引擎的后缀,你可以定义打开的是任何文件格式,比如json,甚至tdl等。
第二个参数表示用于解析处理模板内容的方法。
第三个参数:使用swig.renderFile方法解析后缀为html的文件。

设置模板目录

现在就用express组件提供的set方法标设置模板目录:

app.set('views','./views');

定义目录时也有两个参数,注意,第一个参数必须views!第二个参数可以是我们所给出的路径。因为之前已经定义了模板文件夹为views。所以,使用对应的路径名为./views

注册模板引擎

app.set('view engine','html');

还是使用express提供了set方法。
第一个参数必须是字符串'view engine'
第二个参数和app.engine方法定义的模板引擎名称(第一个参数)必须是一致的(都是“html”)。

猜你喜欢

转载自www.cnblogs.com/zjx304/p/9822271.html