使用node制作个人博客
明确目标
- 选择前后端框架。使用express作为服务端的框架,使用jade制作前端模板
- 选择数据库。连接到mongDb数据库以及mySQL数据库,并实现增、删、改、查功能
- 进阶优化
- 开发时,纯前端的思维不再管用,替换为: 前端只管理模板以及样式,后端负责其他操作,并且出了bug服务就挂了…
- 使用express时,如何设置router控制器目录结构可以优化
- 使用express时,控制器的作用与页面模板紧密相连,接口类型只有get以及post类型,主要作用于表单交互
- 使用express时,难点在于对中间件概念的理解,以达到统一管理错误日志,统一管理服务器日志,确保页面可访问以及session安全性
- 使用mongDb时,难点在于:建模,确定模型初始数据结构以及模型拥有的方法(便于调用)
- 使用mongDb时,难点在于:调用接口时,需要对数据进行增删改查,数据库的操作方法需要十分熟练
- 书写前端模板时,使用了jade,需要有less或者sass经验,上手很快
- 注意事项
- 书写前端模板时,可以不使用模板直接写普通html。使用jade需要有less或者sass经验,上手很快
- 在jade模板中服用模板无需经验,优化模板的复用程度需要经验,慢慢来
- 在jade中写js, script. 后面有个点
express注意事项
注意 | 解释 |
---|---|
初始化项目 | 想使用node写个小项目,初始化项目时无从下手,使用通用的express项目生成工具express-generator |
启动项目 | 如何启动项目参考express-generator文档,非常简单。但是这样无法做到修改文件后,自动重启服务器更新文件内容。使用大神之作nodemon。 当然你也可以参考这个项目node-blog |
设置路由 | 路由需要统一管理,参见项目 node-blog中router |
mongDB注意事项
- 初始化数据库。创建 mondodb.js 文件,进行数据库链接的初始化操作
- 链接数据库,在app.js入口文件中引入 mondodb.js 文件即可
require('./mongodb/mongodb.js')
- 数据建模。model文件夹专门存放数据模型
- 在接口文件中使用。导出模型,调用模型操作方法
经验技巧
node-blog自动重启服务器
第一步,创建nodemon.json文件。
第二步,改写pakage.json文件,添加script中这一句
"description": "...",
"scripts": {
"dev": "nodemon --debug ./bin/www"
......
},
"dependencies": {...}
第三步,重启服务器,npm run dev, 大功告成
使用ES6语法
// 安装babel-core,然后在api.js中添加上这一句即可
require("babel-core/register")
通用配置集中管理 config.js
module.exports = {
port: process.env.PORT ? process.env.PORT: 3004, // 端口号
mongodb: 'mongodb://localhost:27017/ifredomblog', // 数据库地址
session: {
key: 'ifredomblog',
secret: 'ifredomblog',
maxAge: '2592000000'
},
mysql:{
host: 'localhost',
user: 'root',
password: '123456', // 手动设置,需要记住
port: 3306, // 默认端口即为3306
database: 'test' // 电脑上安装mysql软件,然后手动创建数据库test(Schema)
},
blog:{
theme: 'default',
title: 'ifredom-node-blog',
description: 'ifredom:ifredom博客,您所感兴趣的尽在这里 ——阅读、收集、分享你所关心的内容从来没有这么容易',
author: 'ifredom',
email: '1950735817@qq.com'
}
}