13 ~ express ~ 后台页面的搭建
Posted 500m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13 ~ express ~ 后台页面的搭建相关的知识,希望对你有一定的参考价值。
一, 后台路由文件 /router/admin.js
var express = require(‘express‘)
var router = express.Router()
/**
* 验证用户是否为管理员 ,防止其他用户通过 /admin 路径访问
*/
router.use((req,res,next)=>
console.log( req.userInfo.isAdmin)
if(!req.userInfo.isAdmin)
res.send(‘对不起,你不是管理员,不能进入‘)
return
next()
)
router.get(‘/‘,(req,res,next)=>
console.log((‘admin ---- req.userInfo 数据 :‘+JSON.stringify(req.userInfo)).yellow)
res.render(‘admin/index‘,
userInfo:req.userInfo
)
)
module.exports = router
二,后台视图文件 /views/admin/index.html ,
运用了模块的 调用 ,嵌套,继承重写 等语法
1,前台页面对其他页面的调用 : % extends ‘layout.html‘ % // 调用当前目录下的 layout.html 页面 ,实现对模板的继承
2,调用完其他页面,本页面将不能直接写代码。
3,要先 被调用的模板里 通过定义 block 区块 进行占位 。 // 例如,定义一个main的block区块: % block main % % endblock %
4,在调用者的模板里 通过重新定义block区块的内容进行重写输出 (相当于面向对象中的继承和重写)
% extends ‘layout.html‘ %
% block main %
<div class="jumbotron">
<h1>Hello, userInfo.username!</h1>
<p>欢迎进入系统后台</p>
</div>
% endblock %
三, 被视图主页文件 /views/admin/index.html 调用的视图文件 /views/admin/layout.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>后台</title>
<link rel="stylesheet" href="/public/css/bootstrap.min.css">
<link rel="stylesheet" href="/public/css/bootstrap-theme.min.css">
<script src="/public/js/jquery.js"></script>
<script src="/public/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container-fluid">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="/admin">后台管理</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="#">用户管理</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
userInfo.username
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">退出</a></li>
</ul>
</li>
</ul>
</div><!-- /.container-fluid -->
</nav>
<div class="containner-fluid">
% block main %123% endblock %
</div>
</div>
</body>
</html>
以上是关于13 ~ express ~ 后台页面的搭建的主要内容,如果未能解决你的问题,请参考以下文章
NodeJs+Express+SqlServer简易后台API服务搭建