node js 에서 multi line string을 사용할 때는 '\'을 사용한다.
var queryStatement = '\
select j.id, j.title, j.url \
from \
(select ...) \
i right join \
(select ...) j \
on i.id = j.id';
multi line string 사용시에 아래와 같이 'Unexpected token ILLEGAL'이라는 에러가 발생할 수 있다.
/development/work/wysnode/modules/db.js:265
rcode like \'e%\' and c.date >= ' + from + ' and c.date <= ' + to + ' order by
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/development/work/wysnode/route/admin.js:4:10)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
그 이유는 바로..
'\' 다음에 tab 또는 space가 들어가 있기 때문이다.
Mysql에서 쿼리를 만들때 mysql workbench를 이용하는데, 사용하다보면 tab이나 들어갈 수 있는 상황이 생기는데.. 주의하면 될듯.
'scribbling' 카테고리의 다른 글
소프트웨어 공학 센터 기고 - Git Flow (3) | 2014.04.07 |
---|---|
이스라엘인 공부법 / 도서관 (0) | 2014.02.06 |
터미널 작업 공유 및 데모 보여주기 (0) | 2013.11.08 |
nagios와 python을 이용한 모니터링 툴 개발 (0) | 2013.10.01 |
Protocol buffer 사용 소감 (1) | 2013.10.01 |