开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情
该图书管理系统主要功能为:添加图书、修改图书、删除图书
1.创建项目library-system,并初始化项目
npm init -y
2. 安装此项目所需要的依赖 express art-template body-parser
body-parser: HTTP请求体解析中间器,将请求参数转化为json(正确解析前端发来的数据)
art-template: 是一个简约、超快的模板引擎
art-template提供给前端使用的三种渲染方法。具体的内容可以查阅官方文档
| 语法 | 说明 |
|---|---|
| template(filename, data) | 基于模板名渲染模板, 但参数不需要template对象 |
| template.compile(source, options) | 将模板源代码编译为函数 |
| template.render(source, data, options) | 将模板源代码编译成函数并立即执行 |
3. 在主目录下创建项目入口文件index.js
入口文件index.js的基本初始化如下:
a. 引入所需的依赖包
b. 启动静态资源服务
c. 设置模板引擎(还需要安装包express-art-template)
d. 处理请求参数
e. 启动服务器功能
const express = require('express');
const path = require('path');//路径模块
const router = require('./router.js');//路由模块
const template = require('art-template');
const bodyParser = require('body-parser');
const app = express();
// 启动静态资源服务,添加了一个虚拟路径/www
app.use('/www',express.static('public'));
// 设置模板引擎的步骤
// 1.设置模板的路径
app.set('views',path.join(__dirname,'views'));
// 2.设置模板引擎的后缀
// art 模板引擎的后缀
app.set('view engine','art');
// 3.使express兼容art-template模板引擎
app.engine('art', require('express-art-template'));
// 处理请求参数
// 挂载参数处理中间件(post)
app.use(bodyParser.urlencoded({ extended: false }));
// 处理json格式的参数
app.use(bodyParser.json());
//启动服务器功能
// 1.配置路由
app.use(router);
// 2.监听端口
app.listen(7000,()=>{
console.log('running...');
})
4. 创建二级目录views(专门放置页面文件),并在该目录中创建模板页面
模板页面有三个页面:
主页面 index.art
添加图书页面 addBook.art
修改图书页面 editBook.art
注:其实是html页面,只不过art-template这个模板引擎包需要设置以art为后缀名
5. 创建路由模块router.js
路由的目的是根据前端URL的改变决定返回哪个art模板生成的html文件。
将图书数据存储在data.json文件中,通过路由的路径分发功能实现对不同页面的处理