2015년 1월 15일 목요일

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/default-skin.svg',
    'lib/dist/default-skin/preloader.gif',
    'lib/dist/photoswipe.js',
    'lib/dist/photoswipe-ui-default.js'
  ], 'client');
});

로딩하는 순서대로 필요한 파일들을 addFiles에 배열형태로 추가한다.

이게 전부다.

meteor add spectrum:photoswipe
하여 테스트를 해보고 잘 작동하는지 확인해보고 잘 작동한다면

git add .
git commit -am "initial commit"

현재까지 내용을 commit 하고
github에서 repository를 meteor-photoswipe 와 같이 만들고 push해주자.
git remote add origin git@github.com:acidsound/meteor-photoswipe.git
git push -u origin master

마지막으로 모든 과정이 완료 되었으면 publish하여 atmosphere에 등록한다.
meteor publish --create