EJS

    [Node, express, ejs] i18next 써서 국제화 하기 [2]

    i18next 써서 국제화 하기 [2] 전편에서는 I18next 를 써서 라우터 에서 text 를 불러온뒤에 랜더링 하는것을 해보았습니다. 하지만 이와같은 방법으로 하게되면 json 의 값을 불러오는거 밖에 안되기에 나는 view 에 바로 넣고 싶은 방법을 찾고있었습니다. 힘들게 힘들게 찾은 이 issue 에서 사용한 ejs.filters 는 더이상 사용할수가 없는 기능 이었습니다. 결국 찾아낸 것은 res.locals 에 데이터를 넣어주면 ejs 에서 res.locals의 값을 같이 가지고 간다는 정보였습니다. 따라서 하나하나 테스트 해보기로 했습니다. 먼저 어제의 소스에서 / 라우트는 추가해 줍니다 app.get('/', (req, res) => { res.render('test', { text: r..

    [Node, express, ejs] i18next 써서 국제화 하기 [1]

    i18next 써서 국제화 하기[1] 회사에서의 업무중 페이지를 국제화 시켜야 하는 업무가 생겼다. 여기서 국제화란 한개의 페이지를 여러 국가의 언어로 만들어서 말그대로 국제화 시키는것 을말한다 위와 같이 같은 구글 페이지지만 텍스트가 한글과 영어 버전이 각각 있다. 과거에는 각 언어마다 뷰 페이지를 만들었다고 한다. 즉 영어,한국어가 필요하면 복,붙 으로 2개 페이지 4개의 언어가 필요하다면 복,붙 으로 4개페이지 를 만들었어야 헀다. 당연히 이것은 유지보수에 있어서 끔찍한 결과를 초래한다. 그래서 국제화 라이브러리 들이 생겨났는데 그중에서 나는 i18next 써드파티 모듈을 쓰기로 했다. 쓰기로한 이유는 가장 최신버전을 유지하고있고 각종 프레임워크를 지원하며 공식 documentation 이 비교적 ..

    [Node.js | PHP] php 페이지 와 nodejs 페이지 사이 데이터 전달

    php 페이지 에서 nodejs 페이지로 데이터 전달 php 페이지 와 nodejs 페이지 사이 데이터 전달 오늘의 문제는 이거였다.(외않되…) 본인인증 서비스를 페이지에 이용하는데 이 서비스 모듈은 php 버전으로는 있지만, node js 로는 없어서 어떻게든 해결을 해야만 했다.그 방법으로 생각해낸것이 Nodejs 페이지 에서 요청을 php 로 보낸뒤, php 페이지 에서 결과값을 만든뒤 그값만 nodejs 페이지 에서 가져오도록 하는것이었다.말이어렵지만 정리하자면, 보이는건 nodejs로 만든 페이지(local) 이지만 nodejs 에서 전송하는데 필요한 값은 php로 만든 페이지 (다른 서버) 에서 가져와야하는 상황이었다. NOTICE : 3줄 요약은 글 마지막에 있습니다. 문제점 여기서 또 흥미..

    [Node.js]EJS 태그 삼형제

    EJS 에서 변수 를 받아서 사용하는 폼은 크게 3가지가 있다 과 그리고 이다.이제 부터 이 3가지의 차이점이 무엇인지 하나하나 알아가 보자. 1. EJS 에서 는 소스내 에서 실행되지만 보이지는 않는 태그이다무슨 의미냐면 클라이언트 들은 화면에서 보이지 않지만실행이 되는 태그라는 뜻이다.class="odd"class="even" 위의 소스에서 i 가 짝수면 odd 를 아니라면 even 을 class 값으로 주는 소스이다. 여기에서 를 이용해서 if 로 조건문을 줄수 있지만 사용자는 보이지 않는다. 2. 이 태그는 태그와는 조금 다르게 HTML 코드를 날것(Raw)로 보여줍니다 과 의 차이점은 은 소스에 보이지 않는 흐름제어 태그이고 는 HTML 태그들을 이스케이프 문자 없이 RAW 한 상태 로 출력해줍..