-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
23 lines (19 loc) · 1.43 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
const fs = require('fs');
const path = require('path');
const apiRoutes = require('./routes/apiRoutes') // require() will read the index.js files in each of the routes folders
const htmlRoutes = require('./routes/htmlRoutes')
const express = require('express');
const { animals } = require('./data/animals')
const PORT = process.env.PORT || 3001 // Port will now be heroku port number or 3001
const app = express();
//^------ Middleware functions ------------ */
app.use(express.static('public'))// makes all the files in the public folder static so that they show immediately in app without needing a route *** MUST BE ABOVE ALL OTHER MIDDLEWARE
app.use(express.urlencoded({ extended: true })); // this method parses incoming string or array data from client into key/value pairs that can be accessed in req.body
app.use(express.json()) // this method taskes incoming json data and parses it into req.body
app.use('/api', apiRoutes) // this tells server that any time a client navigates to <outhost>/api, the app will use the router we set up in apiRoutes folder instead
app.use('/', htmlRoutes) // '/' this tells server to serve back our html routes from htmlRoutes folder
//^----------------------------------------
//? ---- API LISTEN ROUTE - listens for the port user will be making requests to view data ----
app.listen(PORT, () => { // PORT can be any port that heroku or cloud server is listening on
console.log(`API server now on port ${PORT}!`)
});