[node js] multi line String 코딩시 주의 사항
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이나 들어갈 수 있는 상황이 생기는데.. 주의하면 될듯.