Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在呈现之前运行Meteor客户端javascript(完全异步方法)_Meteor_Iron Router_Meteor Autoform - Fatal编程技术网

在呈现之前运行Meteor客户端javascript(完全异步方法)

在呈现之前运行Meteor客户端javascript(完全异步方法),meteor,iron-router,meteor-autoform,Meteor,Iron Router,Meteor Autoform,我的meteor应用程序与mongodb支持的node.js微服务交互。我想在meteor应用程序上使用autoform,而不必维护模式的两个副本 微服务模式是猫鼬,但为autoform的简单模式编写一个转换器是非常困难的 将翻译成meteor一直是困难的部分 首先,我打算使用npm。这证明是一个问题,因为meteor/hacks不能使用本地(npm链接)包 然后,我考虑了browserify。这不好,因为mongoose与客户端不兼容 最后,我决定用express提供翻译 剩下的问题是,在au

我的meteor应用程序与mongodb支持的node.js微服务交互。我想在meteor应用程序上使用autoform,而不必维护模式的两个副本

微服务模式是猫鼬,但为autoform的简单模式编写一个转换器是非常困难的

将翻译成meteor一直是困难的部分

首先,我打算使用npm。这证明是一个问题,因为meteor/hacks不能使用本地(npm链接)包

然后,我考虑了browserify。这不好,因为mongoose与客户端不兼容

最后,我决定用express提供翻译

剩下的问题是,在autoform尝试渲染之前,我需要使用collection2附加模式

我将HTTP请求放在Meteor.method中。如何/在何处调用attachSchema(),使其在尝试渲染之前发生

这就是我所尝试的:

onBeforeAction: function () {
  var self = this;
  Meteor.call('fetchSchema', 'ModelName', function (err, schema) {
    ModelName.attachSchema(new SimpleSchema(schema));
    self.next();
  });
}
我得到这个错误:

Exception in delivering result of invoking 'fetchSchema': TypeError: object is not a function

我应该怎么做?

您可以在服务器上运行的meteor软件包中使用npm库。这里有很多和各种博客教程。另请参见:谢谢,但我的服务器端已经关闭。给我带来麻烦的是客户端。(collection2/autoform的工作方式是,模式需要同时连接到服务器和客户端……这就是我的印象)浏览器总是受到浏览器的限制。可能您需要编写一个API,并在服务器上使用
Meteor.methods()
,在客户端使用
Meteor.call()