React + Node.js 的项目结构应该是什么?
What should be a project structure for React + Node.js?
一个有点宽泛的问题,但是随着 JS 世界的所有这些趋势,有时很难找到关于如此简单的事情的信息。
在此类项目中组织文件和文件夹的更好方法是什么?
Facebook 有几个语言的服务器 examples,但它用于非常基本的项目。
还可以在 git
上找到 React 示例
但是这些例子只是用来玩玩的。
目标是 - 明确区分客户端和服务器组件。将它们移动到单独的文件夹树中。
也有类似应用程序的结构(例如 Django 做的)
所以主要问题是:
将 nodejs/iojs 服务器端与 React 客户端组件分开并将它们放在一个项目中的正确方法是什么?
项目:
- nodejs 服务器,用于用户可以在 hubs/topics 中分隔的站点创建自己的文章。
- 正面反应end.SPA。
- 加载 - 大约 10 000 个用户。
- MongoDb 可通过 Mongoose 访问的数据库
这样的怎么样,我在 GitHub 上看到很多项目都遵循类似的结构,这就是我使用的。
components/ // React Components Directory
models/ // Mongoose Models (if your using a database too)
public/ // Static Files Directory
---- css
---- js
---- svg
...
utils/ //Files containing utility methods
views/ // Server Side Views (jade, or handlebars, ..)
app.js // Client side main
config.js // App configuration
package.json
routes.js // Route definitions
server.js // Server side main
React-starter-kit 是一个非常好的同构项目模板,还包括所有必要的工具,如 eslint、babel 等。它有详细的文档记录,因此您可以轻松了解每个文件夹的用途。
在构建项目结构之前,您必须考虑是否有必要应用 flux,不同的 flux 或 flux-inspired 框架可能会使您的结构不同。 React-starter-kit 是开始尝试不同实现的好地方。
基本上您可以从任何 React.js 样板开始;看一遍,从几个方面评价问题
- 人群之间的作品容易分开吗
- 应用结构有意义吗?稍后当您返工同一件事时,您是否会难以理解应用程序的结构?
- 以后如果要加functionalists会不会很难? (假设你想要 csrf 支持)
我比较了一些 React 样板,最终选择了 isomorphic500。我修改了我的代码以达到这样的目的:
我的 src
文件夹中是您将要开发的模块。对我来说,如果所有模块都解耦,那么开发东西会更容易,通过这样做,你可以将你的工作与你的队友分开,如果有的话。
一个有点宽泛的问题,但是随着 JS 世界的所有这些趋势,有时很难找到关于如此简单的事情的信息。 在此类项目中组织文件和文件夹的更好方法是什么? Facebook 有几个语言的服务器 examples,但它用于非常基本的项目。
还可以在 git
上找到 React 示例但是这些例子只是用来玩玩的。
目标是 - 明确区分客户端和服务器组件。将它们移动到单独的文件夹树中。 也有类似应用程序的结构(例如 Django 做的)
所以主要问题是:
将 nodejs/iojs 服务器端与 React 客户端组件分开并将它们放在一个项目中的正确方法是什么?
项目:
- nodejs 服务器,用于用户可以在 hubs/topics 中分隔的站点创建自己的文章。
- 正面反应end.SPA。
- 加载 - 大约 10 000 个用户。
- MongoDb 可通过 Mongoose 访问的数据库
这样的怎么样,我在 GitHub 上看到很多项目都遵循类似的结构,这就是我使用的。
components/ // React Components Directory
models/ // Mongoose Models (if your using a database too)
public/ // Static Files Directory
---- css
---- js
---- svg
...
utils/ //Files containing utility methods
views/ // Server Side Views (jade, or handlebars, ..)
app.js // Client side main
config.js // App configuration
package.json
routes.js // Route definitions
server.js // Server side main
React-starter-kit 是一个非常好的同构项目模板,还包括所有必要的工具,如 eslint、babel 等。它有详细的文档记录,因此您可以轻松了解每个文件夹的用途。
在构建项目结构之前,您必须考虑是否有必要应用 flux,不同的 flux 或 flux-inspired 框架可能会使您的结构不同。 React-starter-kit 是开始尝试不同实现的好地方。
基本上您可以从任何 React.js 样板开始;看一遍,从几个方面评价问题
- 人群之间的作品容易分开吗
- 应用结构有意义吗?稍后当您返工同一件事时,您是否会难以理解应用程序的结构?
- 以后如果要加functionalists会不会很难? (假设你想要 csrf 支持)
我比较了一些 React 样板,最终选择了 isomorphic500。我修改了我的代码以达到这样的目的:
我的 src
文件夹中是您将要开发的模块。对我来说,如果所有模块都解耦,那么开发东西会更容易,通过这样做,你可以将你的工作与你的队友分开,如果有的话。