【发布时间】:2016-08-09 12:44:58
【问题描述】:
我想创建一个“核心”包和“模块/插件”包,就像 accounts-facebook 在 Meteor 中使用 accounts-base 一样。
这是我目前拥有的,但它不起作用:
packages/project:modules-core/package.js:
Package.describe({
name: 'project:modules-core',
summary: 'Core package for Modules.',
version: '1.0.0'
});
Package.onUse(function (api) {
api.versionsFrom('METEOR@0.9.1.1');
api.addFiles('lib/core.js', ['client', 'server']);
if (api.export) {
api.export('HBModule');
}
});
packages/project:modules-core/lib/core.js:
HBModule = (function () {
var moduleName = "";
var getShareCount = (function (url) {
});
var register = (function (name) {
HBModule[name] = name;
});
}());
包/项目:facebook/package.js:
Package.describe({
name: 'project:facebook',
summary: 'Facebook Module.',
version: '1.0.0'
});
Package.onUse(function(api) {
api.versionsFrom('METEOR@0.9.1.1');
api.use('project:modules-core', ['client', 'server']);
api.imply('project:modules-core', ['client', 'server']);
api.addFiles('lib/facebook.js', ['client', 'server']);
});
包/项目:facebook/lib/facebook.js:
Facebook = (function () {
var moduleName = "Facebook";
var getShareCount = (function (url) {
return 22;
});
}());
HBModule.register('facebook');
我收到了TypeError: Cannot read property 'register' of undefined 错误。
我做错了什么?
谢谢!
【问题讨论】:
标签: javascript node.js meteor module packages