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