기본 콘텐츠로 건너뛰기

라벨이 package인 게시물 표시

Troubleshooting - Meteor package가 적용이 되지 않을 때

버전 1.5 기준 package.js에서 Package.onUse 에 새 패키지를 추가했는데 인식하지 못하는 경우가 있다. Package.onUse((api) => {   api.use([     'vulcan:core',     'vulcan:forms',     'vulcan:accounts' /* <-- 추가함! */   ]); ... } 내부패키지건 원격패키지건 안되는 안된다. 이럴 때 meteor add 후 meteor remove 해도 되지만 더 간단한 방법이 있다. meteor update vulcan:accounts 이렇게 update 해주는 방법이 있다. .meteor/package 파일을 건들지 않아서 좋다. 그래도 역시 좋지 않다. Meteor 스럽지 않다. https://github.com/meteor/meteor/issues/7721  현재 1.5.2에서도 해결이 안되었군요. 해결되어 적용되면 다시 글 올리겠습니다.

Meteor Naver OAuth login Package 작성 : 네이버 로그인

http://pow.cx/ 를 설치해준다. naver는 localhost에서 oauth2 인증하는 것을 허용하지 않는다. echo 3000 > ~/.pow/devlocal 설치 후 이렇게 해서  ROOT_URL=http://devlocal.dev PORT=80 meteor 브라우저에서 80포트로 리디렉션한 http://devlocal.dev 로 접속하자. 막판에 getUserProfile 이 안되서  http://static.nid.naver.com/oauth/naverOAuthExp.nhn   여기에 맨 마지막 03. Test API 호출에 accessToken을 넣고 돌려보니 Request에 POST /nidlogin/nid/getUserProfile.xml HTTP/1.1 User-Agent: naver oauth2.0 test form Host: apis.naver.com Pragma: no-cache Accept: */* Authorization: Bearer Awmvqo;ekmqovkmsld;kmacl;kmwlekcmqvowkevm= 이런 식으로 나오더라. 즉 "Bearer "(공백 한칸 포함)+accessToken한 정보가 나와야함. 그러니 token_type을 받아서 같이 넣어줘야함. getUserProfile 결과물은 아쉽게도 JSON 이 아니라 XML 형태라서 peerlibrary:xml2json 을 사용. 역시 이게 제일 간단하고 맘이 편함. https://github.com/acidsound/meteor-accounts-naver https://github.com/acidsound/meteor-naver 각각 등록 완료. 사용할 땐 간단하게 meteor add spectrum:accounts-naver 하면 된다.  어짜피 의존성이 있으니 같이 로딩됨. Meteor쪽은 쉬운데 네이버쪽이 약간 손...

Meteor Package 만들기

1.0 이후론 package를 만드는 과정이 아주 직관적으로 바뀌었다. 이번엔 photoswipe 를 가지고 만들어 보았다. 모바일에서도 pinch zoom in/out등이 잘 작동하는 의존성이 없는 좋은 javascript gallery다. 먼저 해당 meteor project의 root 에서 package를 생성해보자 meteor create --package spectrum:photoswipe cd packages/spectrum:photoswipe packages/ 경로 안에 해당 package경로로 들어가서 git init 으로 저장소를 초기화한 후 git submodule add https://github.com/dimsemenov/PhotoSwipe.git lib 으로 photoswipe 저장소를 submodule로 추가한다. 여기선 lib 경로아래로 받도록 하였다. packages.js 수정하여 설명, 버전, 저장소등을 수정한다. Package.describe({   name: 'spectrum:photoswipe',   summary: 'JavaScript gallery, no dependencies.',   version: '1.0.0',   git: ' https://github.com/acidsound/meteor-photoswipe.git ' }); Package.onUse(function(api) {   api.versionsFrom('1.0');   api.addFiles([     'lib/dist/photoswipe.css',     'lib/dist/default-skin/default-skin.css',     'lib/dist/default-skin/default-skin.png',     'lib/dist/default-skin/defau...