Node.js

[Node] express static (정적폴더 사용하기)

SongMinu 2020. 4. 12. 16:09
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 사용할 때 이렇게만 해도 된다. 

반응형