基于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方法。

以下进行逐行解析——

定义模板引擎

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”)。

原文地址:https://www.cnblogs.com/zjx304/p/9822271.html

时间: 2024-10-11 12:20:54

基于node.js的博客搭建的相关文章

基于 Node.js + Express + mongoDB + Bootstrap 搭建的电影网站

电影网站 ?? GitHub: https://github.com/bxm0927/movie-website 此项目是基于 Node.js + Express + mongoDB + Bootstrap 搭建的电影网站. 主要功能模块: 一期:前台电影展示页.电影详情页.后台电影管理中心(电影录入.电影修改) 二期:用户登录注册注销功能.用户识别和持久化.后台用户管理中心(用户录入.用户修改).电影评论 <!-- more --> 图片预览 技术栈 [前端] HTML/CSS/JS:亘古不

node.js开发博客系统前端项目搭建(一)

Express: https://github.com/petecoop/generator-express 安装node.js和npm 执行: npm install -g yo npm install -g generator-express 执行:yo 创建项目成功. 项目的目录: brew安装:MongoDb http://blog.csdn.net/moumaobuchiyu/article/details/54885306 http://www.cnblogs.com/junqili

基于Hexo的个人博客搭建(上)

没有废话,直接开始. 1. 环境配置 —1.1 node.js安装 https://nodejs.org/en/download/ 下载最新版本即可,然后无脑安装(除了选安装目录的时候),为了保证安装成功和环境变量的配置正确,我将会在cmd中展示版本信息: —1.2 yarn安装 https://yarnpkg.com/en/docs/install#windows-stable 继续下载,无脑安装. —1.3 git安装 https://git-scm.com/downloads 不过我发现我

Node.js Express博客项目实战 之 系统设置

系统设置在侧边栏的系统管理中: 在视图views的后台index.html中对应的系统设置写入跳转的路由: <li><a href="/admin/system" target="right"><span class="icon-caret-right"></span>系统设置</a></li> 在后台路由中进行注册该路由system.js // 系统管理 let syste

基于Hexo的个人博客搭建(下)

5.服务器端测试 —5.1 clone到/var/www/html git clone /home/git/repos/myblog.git /var/www/html chown -R  git:git /var/www/html/ —5.2 设置Git Hook Windows建立一个文件post-receive,是的,无后缀文件.内容如下: #!/bin/bash #判断是不是远端仓库 IS_BARE=$(git rev-parse --is-bare-repository) if [ -

Node.js Express博客项目实战 之 后台登录退出功能

登录后台 需要监听用户的访问地址,只有管理员才能登录后台 在后台的路由admin.js: // 监听用户的访问地址,只有管理员能登录后台 router.use(function(req,res,next){ // 判断url地址 // 是否可以直接进行访问 if (req.url != "/login" && req.url != "/check") { // 判断是否登录 if (req.session.YzmMessageIsAdmin &

node.js 开发博客系统

1. 安装yoman :npm install -g yo 2. 安装 generator-express :npm install -g generator-express 3. 安装 bower :npm install -g bower 前三项都是各种工具的安装,安装失败往往都是版本不兼容导致的.一般可以通过更新解决问题.

基于Node.js的ghost开源博客平台

Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:http://blog.csdn.net/yczz/article/details/6938260 第一步: 下载node.js的windows版当前最新版本是http://nodejs.org/dist/v0.5.10/node.exe 第二步:设置环境变量把node.exe所在目录加入到PATH环境

Node.js 博客搭建

Node.js 博客搭建:https://www.linuxidc.com/Linux/2017-02/140115.htm https://www.cnblogs.com/mrcln/p/9308729.html 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/11725444.html