๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ์ด์•ผ๊ธฐ

node js app.js , express generator, sequelize, pug

๋ฐ˜์‘ํ˜•
//express generator ์ต์Šคํ”„๋ ˆ์Šค ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ
//ํ•„์š”ํ•œ package.json, ๊ธฐ๋ณธ ํด๋” ๊ตฌ์กฐ๊นŒ์ง€ ์žก์•„์คŒ
//์ „์—ญ ์„ค์น˜ npm i -g express-generator
//ํด๋” ์ด๋™, ์ต์Šคํ”„๋ ˆ์Šค ์—”์ง„ ์„ค์น˜ cd learn-sequelize & npm i
// bin/www ํด๋”์— ๋…ธ๋“œ ๊ด€๋ จ ์„ค์ •
//๋ชจ๋“ˆ
const express = require('express');
const createError = require('http-errors');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const app = express();
//express ํŒจํ‚ค์ง€ ํ˜ธ์ถœ, app ๋ณ€์ˆ˜ ๊ฐ์ฒด ์ƒ์„ฑ -> ๋ณ€์ˆ˜์— ๊ฐ์ข… ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ
//db
const sequelize = require('./models').sequelize;
//๋””๋น„ connect/์‹ฑํฌ
sequelize.sync({
force: false
})
.then(() => {
console.log('โœ“ DB connection success.');
console.log(' Press CTRL-C to stop\n');
})
.catch(err => {
console.error(`์—๋Ÿฌ ${err}`);
console.log(`โœ— DB connection error. Please make sure DB is running.`);
process.exit();
});
//view ์—”์ง„ ์„ค์ • - pugํ…œํ”Œ๋ฆฟ
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
//๋ฏธ๋“ค์›จ์–ด ์„ค์ •
//์ฃผ๋กœ app.use use ๋ฉ”์„œ๋“œ๋กœ ์‚ฌ์šฉ
//์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ์ค‘๊ฐ„์— ์œ„์น˜ํ•ด์„œ ๋ฏธ๋“ค์›จ์–ด๋ผ ๋ถˆ๋ฆผ
// ๋ผ์šฐํ„ฐ, ์—๋Ÿฌํ•ธ๋“ค๋กœ -> ๋ฏธ๋“ค์›จ์–ด ์ผ์ข…
//app.use๋กœ app๊ณผ ์—ฐ๊ฒฐ
app.use(logger('dev'));
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
//๋ผ์šฐํŠธ ๋ถ„๋ฆฌ
//ํŒŒ์ผ
var indexRouter = require('./routes/index');
var logsRouter = require('./routes/logs');
var usersRouter = require('./routes/users');
var commentsRouter = require('./routes/comments');
var chatRouter = require('./routes/chat');
var mapsRouter = require('./routes/maps');
app.use('/', indexRouter);
app.use('/logs', logsRouter);
app.use('/users', usersRouter);
app.use('/comments', commentsRouter);
app.use('/chat', chatRouter);
app.use('/maps', mapsRouter);
//next() -> ๋ฏธ๋“ค์›จ์–ด ํ๋ฆ„ ์ œ์–ด
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// 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;