1

我目前的项目位于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。但该项目不想要它。“未定义我的姓名。”

我复制了“发现流星”中的技术,但它对我不起作用,我尝试了其他方法。总的来说,在 Meteor 中取得了很大的成功。

这个规范似乎正在改变。我得到了 6.5 的导出要求,但很容易找到关于基础项目需要在 smart.json 中添加该项目(而不是包中的那个)的矛盾建议。大多数参考文献根本没有将其列为要求。

我试过了

{
  "packages": {
      "simple" : {
          "path": "packages/simple"
      }
  }
}

并将其放入 git 并从不同的项目中尝试:

{
  "packages": {
 "simple" : {
          "git": "https://github.com/jimmack1963/localPackages.git"
      }     

    }
}

对于后者,令人高兴的是,安装程序足够聪明,可以挖掘并提取包本身,忽略将其包装在 git 项目中的项目。好的!所以,当我直接从 git 安装包时,我遇到了同样的问题,仍然没有发布到世界上。

  • Ubuntu 13.04
  • 陨石版 0.6.11
  • 流星发布 0.6.5.1
4

1 回答 1

2

迁移到 0.6.5 后我遇到了同样的问题 -

您只能从明确“使用”的包中获取“导出”变量;包通过调用.useinside来“使用”其他包Package.on_use项目通过添加它们来“使用”包.meteor/packages

此外,它似乎对导出变量非常挑剔,目前不会导出前面的变量this.

于 2013-09-06T01:59:58.107 回答