开发流程
仅仅一个开始搭建hello的服务是不够的,下面以一个Blog的项目为例介绍更多功能。
Blog项目需求
前台页面:首页列表、文章详情、后台登录页面 后台管理:文章编辑、文章列表
明确需求后,接下来在开始使用章节搭建的基本服务前提下,丰富更多功能。
确立路由配置
添加模板文件
前台页面公共区域的数据
后台访问权限控制
其他细节补充
路由配置
可在${routerDir}下建立两个js文件,分别对应前台和后台功能:
// frontend.js
module.exports = {
'/, /home': { // 首页
api: '/api/article/list',
view: 'home'
},
'/article/:id': {
api: '/api/article/detail',
view: 'article-detail'
},
'/admin-login': {
view: 'login'
}
}添加模板文件
在${viewDir}下创建相关页面模板:
include/layout.njk是利用nunjucks的{% extends 'layout.njk' %}语法做的基础模板。
前后台页面公共区域的数据
比如读取网站标题等全局配置信息,在${interceptorDir}创建global.js,使用拦截器通配符用法:
把网站信息保存到ctx.state中,在模板中可以使用 {{ websiteInfo.title }} 输出标题等信息。
后台访问权限控制
同样使用过滤器,根据后台页面都处于/admin路径前缀下的规则配置,在${interceptorDir}目录下创建admin.js:
其他细节补充
以上已经基本实现了一个项目需求的步骤。还有一些细节,比如各路由的handle方法应该怎么配置,文章编辑的提交也应该配置一个handle方法,文章列表的删除等等,留给使用者思考。
Last updated
Was this helpful?