【问题标题】:Meteor method defined in lib, can't be found under server/lib在 lib 中定义的 Meteor 方法,在 server/lib 下找不到
【发布时间】:2015-06-20 01:30:23
【问题描述】:

我在 lib/methods.js 中定义了一个方法:

Meteor.methods({
    getTask: function( extraparam ) {
        return {dummy: 'dummy'};
    }
});

但是当我从 server/lib/environment.js 调用它时:

Meteor.call( "getTask", extraparam );

我得到 Method not found,我的印象是 lib/server/lib 之前加载,
或我应该调用 server/main.js 中的方法吗?

【问题讨论】:

    标签: meteor


    【解决方案1】:

    关于这个问题,加载顺序规则如下:

    1. 包含 lib 的路径获得优先权。
    2. 路径根据其深度获得优先级。

    将两者结合起来我们可以看到/server/lib/x.js 将在/lib/x.js 之前加载。对于方法,这应该不是问题,除非在包含文件执行后立即调用该方法。

    您的选择是:

    1. 按照您的建议通过移动调用来修复加载顺序。 main.js 将最后加载,所以这将起作用。
    2. Meteor.startup 回调中调用该方法。

    【讨论】:

    • 很好的说明,我想补充一点,我最终调用了 server/main.js 上的方法,这也是一个更合乎逻辑的地方
    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    相关资源
    最近更新 更多