-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
53 lines (40 loc) · 1.44 KB
/
server.js
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
const express = require('express');
const articleRouter = require('./routes/articles');
const mongoose = require('mongoose');
const Article = require('./models/Article.js');
const methodOverride = require('method-override');
const app = express();
// CONFIGURE DATABASE
//============================
//connect to db
// -- our database will be stored on our local machine
// -- mongoose.connect('mongodb://<HOSTNAME>/<DB NAME>');
// -- mongooose warns us to use the new url parser and unified topology by
// passing in config args as the second arg
// --
mongoose.connect('mongodb://localhost/blog', {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true
});
// CONFIGURE EXPRESS
//================================
// SETUP
// -------------
// set the view engine to ejs
app.set('view engine', 'ejs');
// allows express to parse our pages and extract the data it needs
app.use(express.urlencoded({ extended: false }));
// use method override
app.use(methodOverride('_method'));
// ROUTERS
// --------------
// tells express to insert /articles before all routes defined in the articleRouter file
app.use('/articles', articleRouter);
// index page - all articles
app.get('/', async (req, res)=>{
// find all articles
articles = await Article.find({}).sort({createdAt: 'desc'});
// render articles to articles index page
res.render('articles/index', {articles: articles});
});
// LISTEN TO THE WEB
app.listen(3000);