2017년 11월 7일 화요일

11월 7일 ejs 태그 문제

과제폭탄으로 여태까지 업데이트가 없어쓰..

오늘까지 된것.
ejs공부
express 기초 다시 공부
mysql 통신성공
sql query문을 통해 데이터 판독 성공

다음 해야할 일들
passport와 session을 이용해 세션 설정.
bcrypt를 이용한 비밀번호 암호화
1차 코드 보강
뷰 연동
2차 서버 통신 준비




ejs 에서 조건문을 쓸때 유의해야하는 사항이 하나 있는데, <% %>를 언제 끊어야 하나 였습니다.

jsp에서는 이런식일때는 문제가 없었는데,

<% if(condition){
%><script>blah </><%
}else{
%> <script> blah2</> <%
}%>

지저분하기야 jsp를 만질때부터 느끼고는 있었으나 사용에는 문제가 없었으므로, 이의를 제기하지 않고 썻었습니다.

헌데 ejs에서는 문법 오류를 뿜어대는데, 도저히syntex오류를 찾을수 없어 조금 더 검색을 하다가, 결론이 나왔습니다.
https://stackoverflow.com/questions/8216918/can-i-use-conditional-statements-with-ejs-templates-in-jmvc

<!-- if문 -->
<% if(condition) {%>
<script>blah</>
<% }else{ %>
<script>blah2</>
<%}%>

<!-- while문-->
<% while(condition) { %>
<script>blah3 </>
<% variable++
} %>

<!-- switch문 -->
<%switch(condition){
 case 1 : %>
<script> blah4</>
<% break;
 case 2 : %>
<script> blah5</>
<% break;
default : break;
} %>

차이가 뭐냐 싶었는데, 속된말로 ㅈ대로 꺽쇠를 열었다 닫았다를 못합니다.
jsp에서는 쓰는놈 마음대로 어느정도 꼬을 수 있다고 보는데, ejs에서는 규칙을 정해놨네요.
 태그를 닫는순간 그 뒤에 다시 열기전에 태그문이 아닌 다른것이 들어가야 하더군요.
정확하게 설명글을 아직 보지는 못했지만, 잃어버린 내 4시간을 위해 써둡니당.



댓글 없음:

댓글 쓰기