accounts-facebook
이 Meteor에서 accounts-base
을 사용하는 것과 같은 "핵심"패키지와 "모듈/플러그인"패키지를 만들고 싶습니다. 여기 Meteor 패키지 라이브러리 생성 중?
패키지/프로젝트 :
Package.describe({
name: 'project:modules-core',
summary: 'Core package for Modules.',
version: '1.0.0'
});
Package.onUse(function (api) {
api.versionsFrom('[email protected]');
api.addFiles('lib/core.js', ['client', 'server']);
if (api.export) {
api.export('HBModule');
}
});
패키지/프로젝트 : 모듈 코어/lib 디렉토리/모듈 - 코어/ package.js core.js :
HBModule = (function() {
var moduleName = "";
var getShareCount = (function (url) {
});
var register = (function (name) {
HBModule[name] = name;
});
}());
패키지/프로젝트 : 페이스 북/package.j 의 :
Package.describe({
name: 'project:facebook',
summary: 'Facebook Module.',
version: '1.0.0'
});
Package.onUse(function(api) {
api.versionsFrom('[email protected]');
api.use('project:modules-core', ['client', 'server']);
api.imply('project:modules-core', ['client', 'server']);
api.addFiles('lib/facebook.js', ['client', 'server']);
});
패키지/프로젝트 : 페이스 북/lib 디렉토리/facebook.js :
Facebook = (function() {
var moduleName = "Facebook";
var getShareCount = (function (url) {
return 22;
});
}());
HBModule.register('facebook');
그리고이와 나는 TypeError: Cannot read property 'register' of undefined
오류를 받고 있어요
내가 뭘 잘못하고 있니?
감사합니다.
이 굉장 ! 고맙습니다! 한가지 더 질문합니다. 모듈이 설정되지 않은 경우 모듈이 기본 기능을 사용하게하려면 어떻게해야합니까? 예를 들어, "Facebook.getShareCount"함수를 만들지 않았다면 첫 번째 함수를 호출 할 때 대신 "HBModule.getShareCount"함수를 사용하게됩니까? –
감사합니다. 이를 수행하는 다양한 방법이 있습니다. 가독성을 높이기 위해 "클래스"(프로토 타입 상속)를 사용하는 것이 좋습니다. 현재 사용중인 Meteor의 버전을 알 수 없으므로 Meteor 1.3+에 대한 예제를 작성하겠습니다. (이전 버전의 Meteor에서는 이와 동등한 작업을 수행 할 수 있지만 다소 다르게 작성됩니다). https://gist.github.com/nathantreid/8ef9e734d52b179bee12123ef81b3065 –
오,이 사람은 완벽합니다. 정말 고맙습니다! –