728x90
var express = require('express');
var app = express();
var path = require('path');
app.use(express.static(path.join(__dirname, 'public')));
HTML에서 사용되는 파일들 중에서 한번 작성해두고 거의 수정될 일이 없는 파일 들을 정적파일이라고 한다.
css나 image 파일이 대부분이고 상황에 따라 js 파일도 포함이 된다.
이런 파일들을 특정 디렉터리에 모아두고 그 디렉터리에 express.static 미들웨어 함수에 전달하면 해당 파일들을 직접적으로 제공을 시작할 수 있다.
위 소스로 예를 든다면
프로젝트 구조가 우선
- test_project
- public
-- css
--- style.css
- views
-- index.html
- router
-- main.js
이런식으로 구성이되어 있고 이제 index.html에서 public/css/ 안에 있는 style.css를 사용할 수 있게 해준다.
여기서 중요한건 저렇게 해준다고 바로 쓸 수 있는건 아니고 html에서 link로 경로를 지정해주어야 한다.
<link rel="stylesheet" type="text/css" href="css/style.css">
이렇게 해줘야 해당 css파일안에 있는 내용을 사용할 수 있다.
확인하는 방법은 노드 서버를 실행한 뒤 해당 파일로 주소를 입력해서 소스가 나오면 적용이 된건다.
예) http://127.0.0.1:8080/css/style.css
public은 칠 필요 없음
이렇게 쳤는데 해당 파일을 읽지 못한다면 제대로 안된것
app.use(express.static('public');
static 사용할 때 이렇게만 해도 된다.
반응형
'Node.js' 카테고리의 다른 글
[Node] 이미지파일 base64로 encode, decode 하기 (0) | 2021.01.08 |
---|---|
[Node] express 레이아웃 express-ejs-layouts 사용하기 (0) | 2020.10.08 |
[Node] node로 Elasticsearch index에 필드 추가 (1) | 2019.11.20 |
[Node] node로 ElasticSearch에 데이터 bulk로 넣기 (1) | 2019.11.20 |
[Node] node를 이용한 ElasticSearch에 데이터 넣기 (0) | 2019.06.05 |