지난번 글에서 프런트엔드의 기본적인 틀을 Quasar를 사용하여 만들어 봤다.
(아래글 참조)
다음은 서버 사이드단을 간단하게 만들어볼건데 가장 널리 쓰이고 접근하기 쉬운 NodeJS + express 를이용하여 웹 서버를 구축할 것이다.
가장 먼저 해야할 것은 당연 NodeJS 설치이다.
(아래 경로에서 설치 파일을 받아서 설치하자)
버전은 글을 쓴 날짜를 기준으로 공식 Node 사이트의 LTS 버전인 16.15.0 버전을 다운 받아서 설치하였다.
(만약 앞에 Quasar 시작 글에서 이미 Node 설치를 완료했다면 건너띄기)
Quasar 를 만들어둔 폴더 위치에 아래와 같이 폴더를 만들자
해당 폴더를 VSCode 로 오픈 후 커멘드 창을 열고 express를 전역으로 설치하자
npm install express-generator -g
설치가 완료되면 express 기본 틀을 생성해보자
express server-express
정상적으로 생성이 완료되면 아래와 같이 서버를 실행시키고 브라우저에서 localhost:3000 으로 접근하여 정상적으로 express 서버가 동작하는지 확인해보자
npm start
만들어진 폴더의 app.js 파일을 보면 아래와 같이 routes 기능이 되어있는 것을 확인할 수 있다. (주석 참조)
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index'); // 라우트될 경로 설정
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter); // 각 path에 응답할 라우트 설정
app.use('/users', usersRouter);
// catch 404 and forward to error handler 존재하지 않는 path로 접근 시 404 페이지 retrun
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;
그렇다면 users라는 path로 이동하면 어떤 페이지가 나올까?
위 이미지와 같이 응답된 내용을 확인할 수 있다. (없는 path로 접근하면 당연 404 페이지를 반환한다!)
우선 express를 이용해서 웹 서버로 사용될 기본 뼈대를 만들어봤다.
원래 현재 실무에서 사용되고 있는 Node 버전은 12.xx 버전이고 express도 굉장히 예전에 만들어진 기본 스타터팩을 계속 사용하다가 이번엔 버전 업의 필요성을 느껴 최신 버전으로 작업을 진행할 계획이다.
다음 글에서는 Quasar에서 서버단으로 API를 던져서 데이터를 던져봄과(GET) 동시에 백엔드 단에서 응답한 내용을 프론트엔트에 직접 랜더링 해보는 과정을 진행해보겠다.
'웹 프로그래밍 > Quasar+Express' 카테고리의 다른 글
웹 구축 Quasar (Front-End) (1) (0) | 2022.05.22 |
---|