-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
69 lines (57 loc) · 1.82 KB
/
app.js
File metadata and controls
69 lines (57 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//加载express模块
var express = require('express')
//加载模版处理模块
var swig = require('swig')
//加载body-parser,用来处理post提交过来的数据
var bodyParser = require('body-parser')
//加载cookies
var Cookies = require('cookies')
//加载数据库模块
var mongoose = require('mongoose')
//创建app应用 => Nodejs 中Http.createServer()
var app = express()
//设置静态文件托管
app.use('/public', express.static(__dirname + '/public'))
//配置应用模版
//定义当前应用所使用的模版引擎
//第一个参数:模版引擎都名称,同时也是模版文件的后缀,第二个参数用于解析处理模版内容的方法
app.engine('html', swig.renderFile)
//设置模版文件的存放目录,第一个参数必须是views,第二个参数是目录·
app.set('views', './views')
//注册所使用的模版,第一个参数必须是view enginne,第二个参数是模版引擎名称
app.set('view engine', 'html')
//在开发过程中,需要取消模版缓存
swig.setDefaults({
cache: false
})
//bodyParser设置
app.use(bodyParser.urlencoded({
extended: true
}))
//设置cookies
app.use(function(req, res, next) {
req.cookies = new Cookies(req, res)
//解析用户登录
req.userInfo = {}
if (req.cookies.get('userInfo')) {
try{
req.userInfo = JSON.parse(req.cookies.get('userInfo'))
} catch(e) {
next()
}
}
next()
})
//根据不同的功能划分模块
app.use('/admin', require('./routers/admin')) //后台管理
app.use('/api', require('./routers/api')) //api接口
app.use('/', require('./routers/main')) //前台模块
//监听app请求
mongoose.connect('mongodb://127.0.0.1:27017/blog', function (err) {
if (err) {
console.log('数据库连接失败')
} else {
console.log('数据库连接成功')
app.listen(80)
}
})