라우팅

라우팅

라우팅 은 일반적으로 여러개의 HTML 파일을 구성하거나, 서버사이드 에서 제공하는 라우터 등으로 다중페이지를 구성하는 것을 말합니다. 여기서 의문이 생깁니다. 티스토리는 다중 HTML파일로 구성할 수도 없으며, 직접 서버사이드를 건드릴 수도 없습니다. 그럼 어떻게 라우팅을 한다는 것일까요? 정답은 가짜 입니다. 즉, 페이지가 여러개인 것 처럼 속이는 거죠.

Trickr

Trickr 는 필자가 직접 개발한 라이브러리 중 하나로, 하나의 HTML 에서 여러 페이지인 것 처럼 속일 수 있습니다. 물론 프론트엔드단에서 동작합니다. 사용법은 Node.js 의 유명한 프레임워크 중 하나인 express 에서 사용하는 Router 와 비슷하게 사용합니다.
기본적으로 프로젝트에 포함되어 있으며, 등록된 라우트에 요청(GET, POST) 를 보낼 수도 있으며, 을 처리할 수도 있습니다. 자세한 사용방법이나 API 등은 해당 사이트의 범주를 벗어나므로 설명하지 않습니다.
자세히 알아보려면 Trickr 를 참고하시기 바랍니다.
routes/config/user/* index.js */

const trickr = require('trickr');
const router = new trickr.Router();

router.post('/create', function () {
  // ...
});
router.get('/list', '#td-userList-wrapper', function() {
  // ...
});

module.exports = router;
작성한 라우터는 최종적으로 routes/index.js 에서 초기화를 진행해야 합니다. 추가적으로, #__tidory 는 페이지를 포함한 셀렉터 이며 변경하면 안 됩니다. __TISTORY_SKIN_MAIN__ 는 티스토리 스킨 메인의 셀렉터가 지정 되어야 합니다. 즉, 티스토리 스킨 첫 페이지 에 표시할 셀렉터를 말합니다.
routes/index.js

const user = require('./config/user');

router.use('/user', user);

router.init('/', '#__tidory', '__TISTORY_SKIN_MAIN__', function() {
  // ...
});