작성
·
139
0
모듈화한 _header.ejs 파일에서 css 지정경로가 왜
href="/css/style.css" 가 되는지 궁금합니다.
_header.ejs 파일은 views폴더의 하위 폴더인 include안에 저장되어 있는데, 만약 css 파일의 상대경로를 지정하려면
href="../../public/css/style.css"가 되어야 하지 않나요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. cloDevp님, Node.js에서 express.js를 사용하고 있다면 express.static
미들웨어를 통해 정적 파일들을 제공하게 됩니다. 기본적으로 public
폴더 안에 있는 정적 파일들에 대해서는 서버의 루트 경로(/
)로 접근이 가능하도록 설정될 수 있습니다. 그래서 views
폴더의 구조와 상관없이 href="/css/style.css"
라고 경로를 지정하면 public/css
디렉토리 내의 style.css
를 가리키게 되는 거죠.
예를 들어, app.use(express.static('public'))
이렇게 미들웨어를 설정하면 public
폴더는 서버의 루트 경로와 매핑되어서 public/css/style.css
파일에 대해 http://yourserver/css/style.css
으로 접근할 수 있는 것입니다. 따라서 상대 경로가 아닌, 서버의 루트 경로에서부터 /css/style.css
로 접근이 가능해 지는 것이죠.
만약 추가적인 정보가 필요하시다면, Node.js 및 express.js에 대한 문서를 참고하시거나 인프런에 있는 관련 강의들을 통해 자세한 내용을 학습하실 수 있습니다.