- 준비
ddp 라이브러리 추가
$ meteor add ddp - 외부 DDP 연결
extDDP = DDP.connect("http://externalhost.com:4100"); - Collection 연결
Posts = new Mongo.Collection('posts', extDDP);
2,3 과정은 client 에서 가장 먼저 실행되도록 client/lib 디렉토리 안에 넣는 것을 추천 - 기존 연결을 외부 DDP로 대치
Meteor.connection = extDDP;
ex) 활용예
Meteor.connection = extDDP;
Meteor.loginWithPassword(login.valiu, password.value);
Meteor.startup 같은 곳에서 사용하면 좋음.
만일 login을 그냥 사용하려면
expDDP.call('login', .... ); 형태로 사용하여야함. - Subscribe 사용
onCreated 시점에 this.subscribe 대신 DDP 객체의 subscribe를 사용
Template.postView.onCreated(function() {
extDDP.subscribe("getPosts", { searchWord: 'blahblah' });
}); - Helper 사용
3번처럼 했다면 그냥 똑같이 사용
Tempalte.postView.helpers({
"posts": function() {
return Posts.find({});
}
}); - Method 사용
Template.postInput.events({
"submit": function(e) {
expDDP.call('addPost', inputText.value', function(error, result) {
/* do something */
});
e.preventDefault();
}
});
nginx, apache2 같은 걸로 매번 certbot 연동을 통해 https 하는게 지겨워서 알아보니 Caddy라는게 있더라. 설치법은 강하게 크기 위해 알아서 해본다. # cat /etc/caddy/Caddyfile your.shitty.site:8123 { proxy / localhost:9123 { websocket transparent } } 이건 외부에서 8123으로 들어오는 걸 내부적으로 9123로 맞춰서 https 맞춰주는 reverse proxy. 만일 port를 생략하면 # cat /etc/caddy/Caddyfile your.shitty.site { proxy / localhost:9123 { websocket transparent } } 기본포트인 443으로 되어 https://your.shitty.site 로 접속이 된다. 요새 말썽이던 cloudflare 버리고 netlify domain이랑 caddy를 쓰니까 앓던 이가 빠진 느낌. 이 조합은 당분간 계속 써야겠다 싶다.
댓글
댓글 쓰기