-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
46 lines (41 loc) · 1.4 KB
/
app.js
File metadata and controls
46 lines (41 loc) · 1.4 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
const express = require('express')
const exphbs = require('express-handlebars')
const methodOverride = require('method-override')
const bcrypt = require('bcryptjs')
const session = require('express-session')
const passport = require('passport')
const bodyParser = require('body-parser')// 引用 body-parser
const flash = require('connect-flash')
// 載入設定檔,要寫在 express-session 以後
const usePassport = require('./config/passport')
const routes = require('./routes')
const db = require('./models')
const Todo = db.Todo
const User = db.User
const app = express()
const PORT = 3000
app.engine('hbs', exphbs.engine({ defaultLayout: 'main', extname: '.hbs' }))
app.set('view engine', 'hbs')
app.use(session({
secret: 'ThisIsMySecret',
resave: false,
saveUninitialized: true
}))
app.use(express.urlencoded({ extended: true }))
app.use(methodOverride('_method'))
usePassport(app)
app.use(flash())
app.use((req, res, next) => {
// console.log(req.user) 可以觀察是誰登入了
res.locals.isAuthenticated = req.isAuthenticated()
res.locals.user = req.user
res.locals.success_msg = req.flash('success_msg')//設定success, warning訊息
res.locals.warning_msg = req.flash('warning_msg')
next()
})
require('./config/passport')
// 呼叫 Passport 函式並傳入 app,這條要寫在路由之前
app.use(routes)
app.listen(PORT, () => {
console.log(`App is running on http://localhost:${PORT}`)
})