인프런 커뮤니티 질문&답변

whsrpdla님의 프로필 이미지
whsrpdla

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

express.static 의 문제인지 html을 리턴하지 않습니다

작성

·

208

0

안녕하세요 강의들으면서 직접 저만의 페이지를 조금씩 만들고 있는데 문제가 발생해서 여쭤보려고 글 남깁니다.

우선 아래가 메인js 이고, public 폴더에 index.html과 enroll.html 을 넣어두었습니다.

const express = require('express');
const fs = require('fs');
const path = require('path');

const app = express();
const port = 3000;

app.use(express.static(path.join(__dirname + '/public')));

app.get('/enroll', (req, res) => {
    let enrollpage = require('./public/enroll.html');
    res.render(`${enrollpage}`);
})

app.get('/', (req, res) => {
    let intro = require('./public/index.html');
    res.render(`${intro}`);
})

이렇게 만들고 서버를 실행해보니 '/' 로 접속하면 index.html이 잘 나오는데

'/enroll' 로 접속하면 에러가 발생합니다.

1|index  | <!DOCTYPE html>
1|index  | ^
1|index  | SyntaxError: Unexpected token '<'

이런 에러가 발생하길래 enroll.html 파일 문제인가 싶었는데 그건 아니였습니다.

express.static 과 관련된 문제일까요? 구글링을 해봐도 잘 안나오네요 ㅠㅠ

뭐가 문제인지 알려주시면 감사하겠습니다

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

html은 require할 수 없고, res.render할 수도 없습니다. 4강에서 했던 res.sendFile 하셔야 합니다.

whsrpdla님의 프로필 이미지
whsrpdla
질문자

감사합니다!! 강의를 여러번 들어야겟어요..

whsrpdla님의 프로필 이미지
whsrpdla

작성한 질문수

질문하기