我目前的项目是https://github.com/jimmack1963/localPackages.git。
我正在尝试使用此代码:
console.log("You pressed the button, " + MyName);
其中MyName来自一个名为simple的包,即JUST LOCAL。每6.5,我通过
出口Package.on_use(function (api, where) {
api.add_files(['constant.js'], 'client');
//below added per possible suggestion from Nathan, had no effect.
api.use('constant.js', 'client');
if (api.export)
api.export('MyName');
});
我试图将我的代码考虑到本地软件包。这不是关于发布包,而是关于使用本地的包,这在很多地方都有提到。我的包只是试图发布一个字符串MyName。但该项目不需要它。 “MyName未定义。”
我在“发现流星”中复制了这项技术,但它对我不起作用,我尝试其他的东西。在Meteor中取得了很大的成功。
这个规范似乎正在发生变化。我得到6.5导出要求,但很容易找到关于基础项目需要在smart.json中添加该项目的矛盾建议(不是包中的那个)。大多数参考文献都没有将其列为要求。
我试过
{
"packages": {
"simple" : {
"path": "packages/simple"
}
}
}
并将其放入git并尝试从另一个项目:
{
"packages": {
"simple" : {
"git": "https://github.com/jimmack1963/localPackages.git"
}
}
}
对于后者,令人愉快的是,安装程序非常聪明,可以挖掘并提取包本身,忽略了将它包装在git项目中的项目。太好了!因此,当我直接从git安装软件包时,我仍遇到同样的问题,但仍未发布到全世界。
答案 0 :(得分:2)
迁移到0.6.5后我遇到了同样的问题 -
您只能从明确“使用”的软件包中获取“导出”变量;软件包通过调用.use
内的Package.on_use
来“使用”其他软件包,项目“使用”软件包将其添加到.meteor/packages
此外,对导出变量似乎非常挑剔,并且目前不会导出以this.