2014년 11월 7일 금요일

sails 0.10.x와 기준, 기존에 보이는 샘플들과의 상이점 정리

adapters.js moved to connecters.js

기존 adapters.js의 기능들은 connecters.js로 이동

Javascript dependencies

view(html)에서 js를 이용함에 있어서 구버전과의 차이

/assets/js/dependencies/...에 파일을 두면
/tasks/pipelines.js에 설정된 규칙에 의거하여 레이아웃에 출력해줌.


// (uses Grunt-style wildcard/glob/splat expressions)
var jsFilesToInject = [
  
  // Load sails.io before everything else
  'js/dependencies/sails.io.js',

  // Dependencies like jQuery, or Angular are brought in here
  'js/dependencies/**/*.js',

  // All of the rest of your client-side js files
  // will be injected here in no particular order.
  'js/**/*.js'
];

기본적으로 이 부분이 해당되게 되는데. 아래를 보는 한 굳이 dependencies이하가 아닌 assets/js이하의 모든 js파일을 읽어들이는 것으로 생각됨

Socket.IO

일반적으로 socket.io client를 이용할때는 클라이언트 js를 읽어들인 상태에서 socket...으로 접근하는듯하나, sails.js 0.10.x에 포함된 sails.io.js에 포함된 io.socket을 통해서 소켓에 해당하는 기능을 이용 가능한듯함.

sails.io.js에 포함된 아래 코드에서 확인.

    // In the mean time, this eager socket will be defined as a TmpSocket
    // so that events bound by the user before the first cycle of the event
    // loop (using `.on()`) can be rebound on the true socket.
    io.socket = new TmpSocket();

아래 첨부 사이트에서 소개된 예제중 소켓을 이용하는 부분에서 socket...으로 접근이 불가능했던 부분에 대해서 앞에 io.를 붙임으로 동작의 확인이 가능했음.

[구버전의 샘플]
http://tech-sketch.jp/2013/11/sailspubsub.html

[공식문서]
http://sailsjs.org/#/documentation/reference/websockets/sails.io.js

{model}.Subscribe Deprecated

PubSub pattern에서 sub에 해당하는 {model}.subscribe(...); 가 deprecated되어있어 경고를 목격함. watch로 치환하라고 한다.

범용적인 이름을 두고 바꿀필요가 있나...?

[GitHub Issues]
https://github.com/ryancp/sailng/issues/2

[Sails Socket Client] event handles as model name (11.14 추가)

기존의 socket.io와 같이, message, created ...와 같은 고정 메세지 명으로io.socket.on을 통해 수신하는게 아니라, 모델명을 가지고 각 이벤트를 수신하는 형식으로 변경됨.
처음에 모델명을 Message로 테스트하다가, Chat으로 아무 생각없이 바꾸고나서부터 메세지 수신이 되지 않아 한참을 붙들고 있다가, 위와 같은 변경사항이 있었단걸 발견.

(socket)io.of와 같이 특정 네임스페이스에 바인딩되는 구조가 현재 보이지 않는거로 볼땐(get한 대상의 controller에서 socket에 대해 subscribe(watch)하여 통신하고 있는거로 보여짐)
아무래도 유니티 등에서 사용하기엔 sails용의 websocket기반 클라이언트의 작성이 불가피해보임.

[GitHub Issues]
https://github.com/balderdashy/sails/issues/1465

댓글 없음:

댓글 쓰기