首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >meteor 1.3应用程序结构:将任务拆分为方法订阅

meteor 1.3应用程序结构:将任务拆分为方法订阅
EN

Stack Overflow用户
提问于 2016-05-29 15:15:55
回答 1查看 114关注 0票数 5

对于流星1.3有知识的人来说,这可能是一个很简单的问题。

流星应用程序结构文档中,它建议将API拆分成几个文件,但我没有看到任何如何将它们重新组合在一起的示例。我从Todo React教程:集合开始,我试着把/api/tasks.js分成tasks.js methods.js server/publications.js

我不知道需要从tasks.js中的代码中进行哪些更改才能正确导入移动到methods.js和server/publications.js的代码

谢谢你的帮助!

代码:反应性/导入/api/任务/tasks.js

EN

回答 1

Stack Overflow用户

发布于 2016-05-29 16:57:08

我不太明白问题出在哪里。我猜是关于import语句的。

在原来的任务文件中

代码语言:javascript
复制
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
import { check } from 'meteor/check';

您需要使用来自Meteor、Mongo和check包的函数/对象。

您需要看看代码需要什么。在methods.js文件中,使用Meteorcheck,但不使用Mongo。所以你想要添加

代码语言:javascript
复制
import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';

我还看到您在publication.js文件中声明了Mongo集合,这通常是不合适的。发布只应在服务器上运行,而您的集合应同时在客户端和服务器上声明。

所以你应该移动这段代码

代码语言:javascript
复制
export const Tasks = new Mongo.Collection('tasks');

通常,它会放在task.js文件中。

在本例中,在task.js中,当您声明一个集合时,您使用的是Mongo对象,您需要

代码语言:javascript
复制
import { Mongo } from 'meteor/mongo';

在你的出版物中,你现在只需要

代码语言:javascript
复制
import { Meteor } from 'meteor/meteor';

仍然存在一个问题,当您使用export声明任务对象时,您需要以与导入Meteor、Mongo和check相同的方式导入任务对象,但是作为您自己的包:

代码语言:javascript
复制
import { Tasks } from './tasks';

对于与tasks.js文件相同的文件夹中的文件。和

代码语言:javascript
复制
import { Tasks } from '../tasks';

如果它在子文件夹里。

这能回答你的问题吗?如果您需要更多的帮助,请更加具体和/或包括一些错误日志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37511561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档