Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const config = require('./config/config');
- const createError = require('http-errors');
- const express = require('express');
- const path = require('path');
- const cookieParser = require('cookie-parser');
- const logger = require('morgan');
- const mongoose = require('mongoose');
- const passport = require('passport');
- const app = express();
- mongoose.connect(config.mongoose.uri, config.mongoose.options, function (err) {
- if (err) console.log(err);
- mongoose.set('debug', true);
- console.log('mongoose connected');
- });
- // view engine setup
- app.set('views', path.join(__dirname, 'views'));
- app.set('view engine', 'ejs');
- app.use(logger('dev'));
- app.use(express.json());
- app.use(express.urlencoded({ extended: true }));
- app.use(cookieParser());
- app.use(express.static(path.join(__dirname, 'public')));
- // passport middleware
- app.use(passport.initialize());
- require('./config/passport')(passport);
- // use routes
- const authRouter = require('./routes/api/auth');
- const profileRouter = require('./routes/api/profile');
- const balanceRouter = require('./routes/api/balance');
- const accountRouter = require('./routes/api/account');
- app.use('/api/auth', authRouter);
- app.use('/api/profile', profileRouter);
- app.use('/api/balance', balanceRouter);
- app.use('/api/account', accountRouter);
- if (process.env.NODE_ENV === 'production') {
- app.use(express.static('client/build'));
- app.get('*', (req, res) => {
- res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
- });
- }
- // catch 404 and forward to error handler
- app.use(function(req, res, next) {
- next(createError(404));
- });
- // error handler
- app.use(function(err, req, res) {
- // set locals, only providing error in development
- res.locals.message = err.message;
- res.locals.error = req.app.get('env') === 'development' ? err : {};
- // render the error page
- res.status(err.status || 500);
- res.render('error');
- });
- module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement