1 Star 0 Fork 0

junglexs/blog-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
app.js 2.24 KB
一键复制 编辑 原始数据 按行查看 历史
const express = require('express');
const bodyParser = require('body-parser');
const session = require('express-session');
const templete = require('art-template');
const dateFormat = require('dateformat'); //用于处理日期格式
const morgan = require('morgan'); //用户打印客户端的请求信息
const config = require('config');
const guard = require('./middleware/loginGuard');
//创建网站服务器
const app = express();
const path = require('path');
//引用数据库模块
require('./model/connect')
//处理post请求参数,拦截所有请求
app.use(bodyParser.urlencoded({ extended: false }));
//配置session
app.use(session({ secret: 'secret key' }));
//告诉express框架模板所在位置
app.set('views', path.join(__dirname, 'views'));
//告诉express框架模块的默认后缀
app.set('view engine', 'art');
//当渲染art后缀是采用art-template模板引擎
app.engine('art', require('express-art-template'));
//向模板中导入外部变量
templete.defaults.imports.dateFormat = dateFormat;
//开放静态资源文件
app.use(express.static(path.join(__dirname, 'public')));
//process.env 可以获取系统环境变量
if (process.env.NODE_ENV == 'development') {
//开发环境
console.log('开发环境');
//在开发环境中,将客户端发送的请求信息打印到控制台中
app.use(morgan('dev'))
} else {
//生产环境
console.log('生产环境');
}
//引入路由模块
const home = require('./route/home');
const admin = require('./route/admin');
//拦截请求,使用中间件,需要写在路由请求之前
//拦截登录
app.use('/admin', guard);
//为路由匹配请求路径(一级)
app.use('/home', home);
app.use('/admin', admin);
//错误处理中间件
app.use((err, req, res, next) => {
//将字符串转换为对象
const result = JSON.parse(err);
let params = []; //存放拼接好的参数
for (let attr in result) {
if (attr != 'path') {
params.push(attr + '=' + result[attr]);
}
}
res.redirect(`${result.path}?${params.join('&')}`);
});
//监听80端口
app.listen(80);
console.log('网站服务器启动成功,监听80端口');
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/junglexs/blog-demo.git
git@gitee.com:junglexs/blog-demo.git
junglexs
blog-demo
blog-demo
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385