@H_301_1@对于流星1.3知识渊博的人来说,这可能是一个非常简单的问题.
@H_301_1@在meteor application structure documentation中,建议将API拆分为几个文件,但我没有看到任何如何将它们重新组合在一起的示例.
我从Todo React Tutorial: Collections开始,我正试图将/api/tasks.js拆分成
tasks.js methods.js server / publications.js @H_301_1@我不知道我需要从tasks.js中的代码做出哪些更改才能正确导入移动到methods.js和server / publications.js的代码 @H_301_1@谢谢您的帮助! @H_301_1@代码:http://www.github.com/Falieson/LearningReact/blob/meteor_todos/MeteorTodos_React/imports/api/tasks/tasks.js
我从Todo React Tutorial: Collections开始,我正试图将/api/tasks.js拆分成
tasks.js methods.js server / publications.js @H_301_1@我不知道我需要从tasks.js中的代码做出哪些更改才能正确导入移动到methods.js和server / publications.js的代码 @H_301_1@谢谢您的帮助! @H_301_1@代码:http://www.github.com/Falieson/LearningReact/blob/meteor_todos/MeteorTodos_React/imports/api/tasks/tasks.js
最佳答案
这是一个相当广泛和自以为是的话题,因此我将尝试给出与“流星指南”中讨论的事项相关的简明答案.
@H_301_1@首先,我将按照教程来完成其目的.对我而言,似乎并不是要教你如何构建一个复杂的应用程序,而是要在一个基本的Meteor项目中掌握React.
@H_301_1@项目结构问题没有确定的答案,因为它是相当自以为是的.一些按功能划分,另一些按功能划分;有些像深嵌套,有些人喜欢更扁平的结构.
@H_301_1@主要的主题是模块的显式导入语法使您的依赖项显式化,因此可以避免需要丢失语义的猜测或笨拙的文件名,并使每个符号的来源成为一项非常重要的任务.
@H_301_1@应用程序结构教程也不完整,主要包括指南.
@H_301_1@让我们假设类似于以下简单结构的东西,它与用例非常吻合:
@H_301_1@
. ├── client │ └── main.js ├── imports │ ├── api │ │ ├── api.js │ │ ├── api-server.js │ │ └── module1 │ │ ├── collections.js │ │ ├── methods.js │ │ └── server │ │ └── publications.js │ ├── client │ │ └── index.js │ └── server │ └── index.js └── server └── main.js@H_301_1@导入目录中的任何内容都不会自动导入.这一切都从server / main.js和client / main.js入口点开始. @H_301_1@反过来,他们导入导入/< target> /index.js,这是应用程序为每个目标(客户端/服务器)引导的位置. @H_301_1@由于某些api代码是特定于服务器的,因此您可能希望创建一个也导入服务器资源的server-api.js文件等. @H_301_1@在引导过程中,服务器的index.js会 @H_301_1@
import '../api/api-server';
@H_301_1@api-server.js将:
@H_301_1@
import './api';
import './module1/server/publications';
@H_301_1@而client / index.js可以直接导入api.js.
@H_301_1@标准方法和出版物不会导出任何符号,因此不需要单独导入它们,而只需要导入它们的文件.
@H_301_1@api.js将:
@H_301_1@
import './module1/methods';
@H_301_1@其中,methods.js和publications.js将导入collections.js文件,假设他们需要它.
@H_301_1@同样,这是一个非常广泛和自以为是的主题,有几种方法可以构建您的项目.