对于流星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
发布于 2016-05-29 16:57:08
我不太明白问题出在哪里。我猜是关于import语句的。
在原来的任务文件中
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
import { check } from 'meteor/check';您需要使用来自Meteor、Mongo和check包的函数/对象。
您需要看看代码需要什么。在methods.js文件中,使用Meteor和check,但不使用Mongo。所以你想要添加
import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';我还看到您在publication.js文件中声明了Mongo集合,这通常是不合适的。发布只应在服务器上运行,而您的集合应同时在客户端和服务器上声明。
所以你应该移动这段代码
export const Tasks = new Mongo.Collection('tasks');通常,它会放在task.js文件中。
在本例中,在task.js中,当您声明一个集合时,您使用的是Mongo对象,您需要
import { Mongo } from 'meteor/mongo';在你的出版物中,你现在只需要
import { Meteor } from 'meteor/meteor';仍然存在一个问题,当您使用export声明任务对象时,您需要以与导入Meteor、Mongo和check相同的方式导入任务对象,但是作为您自己的包:
import { Tasks } from './tasks';对于与tasks.js文件相同的文件夹中的文件。和
import { Tasks } from '../tasks';如果它在子文件夹里。
这能回答你的问题吗?如果您需要更多的帮助,请更加具体和/或包括一些错误日志。
https://stackoverflow.com/questions/37511561
复制相似问题