Express-generator
처음부터 복잡하게 일일히 app.js부터 시작하여 패키지까지 설치할 필요없이 간편하게 기본 뼈대를 생성해주는 편리한 패키지
express-generator 전역설치
npm install -g express-generator
install 은 i로 써도 무관하고, -g는 글로벌로(보편적)서버로 다운받는다
새로운 express 프로젝트 생성
express (프로젝트명) --view=ejs
ejs 외에도 최신 템플릿인 pug? 가 있지만 새로운 문법공부가 필요하다하여 일단은 html형식인 ejs로 설치를 한다.
엔터를 막 쳐도 좋고, 깃허브 등 등록할게 있다면 여기서 해도 된다
추가 npm 모듈 설치
cd (프로젝트명)
npm install
![](https://blog.kakaocdn.net/dn/cwef9u/btq74CRXRix/OZRGP70FHrZWYljIBQdzd0/img.png)
bin/www
http 모듈에 express 모듈을 연결하며, 포트를 지정할 수 있다.
서버를 실행하는 스크립트이다.
public
각종 리소스들을 모아놓은 폴더로 외부(브라우저 등의 클라이언트)에서 접근 가능한 파일들을 모아 둔 디렉토리이다.
images, javascripts, stylesheets 파일들이 들어있다.
routes
라우터들을 관리하는 곳으로 서버의 로직은 모두 routes 폴더 안의 파일에 작성할 것이다. index.js를 기반으로 라우팅 관리를 해주면 된다. routes 디렉토리 안에 또 폴더를 만들어 관리하던지 파일을 만들어 관리하던지 하면 된다. 다만 index.js가 루트가 되게!
views
view 파일들을 관리하는 곳으로 웹서버로 사용 시 이 디렉토리에 잇는 파일들을 사용해서 렌더링 시킨다.
app.js
대망의 app.js! 핵심적인 서버의 역할을 하며 미들웨어 관리를 하는 곳이다.
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(); //---1
// view engine setup //---2
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev')); //---3
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
// 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; //---4
- 1 : express 패키지를 호출해 app 변수 객체를 만든다.
- 2 : app.set()으로 익스프레스 앱을 설정한다.
- 3 : app.use는 미들웨어를 연결하는 부분이다. (미들웨어는 반드시 next()를 호출해야 다음 미들웨어로 넘어감)
- 4 : app 객체를 모듈로 만든다.
pakage.json
프로젝트의 이름, 버전, 의존 패키지 리스트 등의 정보를 담고 있는 파일이다.
Express
1. package.json 생성하기
원하는 폴더에 아래 코드를 입력
npm init
2. express 설치하기
npm install express
3. hello world 출력하기
app.js를 생성
const express = require('express') //express를 설치했기 때문에 가져올 수 있다.
const app = express()
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(3000)
4.노데몬 설치하기
npm install nodaemon --save
5.노데몬 명령어
nodemon --watch app.js
'웹 개발 꿀팁' 카테고리의 다른 글
React 바인드함수 (0) | 2021.01.21 |
---|---|
React 이벤트 설치 (0) | 2021.01.21 |