NodeJS - EJS 버그? 왜 에러 뜨냐고 (오류:require is not defined in ES module scope, you can use import instead)
2023. 4. 21. 00:39ㆍUnknown
[배경]
강의를 듣는중 코드를 입력해서 실행하는데 에러가 발생했다.
눈을 씻고 찾아봐도 코드가 똑같았지만 실행이 되지 않았다.
nodemon도 재설치후 실행해봤고 module도 다시 재설치하고 깔아봤다.
하 지 만 !응 안돼 ~~~~~~~~~~~~~~~~~~~~~
그래서 주석을 한줄한줄 지워가며 실행했는데 어메? 저거 때매 안된다고?????????????????????????????????????
[결론]
ejs 파일 안에 <%=%>가 들어간 주석을 달면 에러 발생
오류코드 : ReferenceError: require is not defined in ES module scope, you can use import instead
js파일 코드
const name = 'apple';
const skills = [
{name: 'HTML'},
{name: 'CSS'},
{name: 'JavaScript'},
{name: 'Python'},
{name: 'Nodejs'},
]
//서버 렌더링이라고 한다 !
const server = http.createServer((req,res)=>{
const url = req.url //사용자의 url를 변수로 저장
res.setHeader('Content-Type','text/html') // 브라우저 html 해석 준비
if(url === '/'){
ejs
.renderFile('./template/index.ejs',{ name: name }) //name은 백엔드 소스를 ejs에 보여주기 위한 객체(내가 생성 해야되는 것)
.then((data)=> res.end(data))
//랜더파일한 데이터를 사용자에게 보내라
}else if(url ==='/mypage'){
ejs
.renderFile('./template/mypage.ejs', {skills: skills})
.then((data)=> res.end(data))
}else{
ejs
.renderFile('./template/notfound.ejs', {name:name})
.then((data)=> res.end(data))
}
//위 페이지 외에 호출시 notfound.ejs 페이지를 출력
// xxx님이 요청하신 페이지를 찾을 수 없습니다. (Not found)
});
server.listen(8080); //사용자를 포트8080에서 기다린다.
html 코드
<body>
<h2>Node js로 만든 첫번째 웹 사이트!</h2>
<p>안녕하세요! <%=name%>님 !</p>
<!--<%=%>는 서버 코드를 실행하라-->
</body>
</html>
느낀점: 이럴거면 주석 처리 왜함?
728x90
'Unknown' 카테고리의 다른 글
MYSQL DB설계 TOOL (0) | 2023.05.11 |
---|---|
아스키코드,16진수 변환 사이트 ! (0) | 2023.04.24 |
나만의 VSCODE 셋팅 (0) | 2023.04.20 |
Javascript 혼자 공부 1 (0) | 2023.04.19 |
VSCODE안에서 CMD로 NODEjs 실행하기 (0) | 2023.04.18 |