React + Node.js的项目结构应该是什么?

时间:2015-09-22 19:31:15

标签: javascript node.js reactjs iojs

有点广泛的问题,但随着JS世界的所有这些趋势,有时很难找到关于这些简单事物的信息。 在这种项目中组织文件和文件夹的更好方法是什么? 来自Facebook的语言服务器examples很少,但它适用于非常基本的项目。

另请参阅git

上的反应示例

但这些例子只是为了玩弄。

目标是 - 明确区分客户端和服务器组件。将它们移动到单独的文件夹树中。 也有类似app的结构(比如Django那样)

所以主要的问题是:

将nodejs / iojs服务器端与React客户端组件分开并将它们放在一个项目中的正确方法是什么?

项目:

  • nodejs服务器,用于用户可以在集线器/主题中创建自己的文章的网站。
  • 在前端反应.SPA。
  • 加载 - 约10 000名用户。
  • 通过Mongoose访问的MongoDb数据库

3 个答案:

答案 0 :(得分:7)

React-starter-kit是一个非常好的同构项目模板,还包括所有必要的工具,如eslint,babel等。它记录良好,因此您可以轻松了解每个文件夹的用途。

在构建项目结构之前,您必须考虑是否需要使用助焊剂,不同的助焊剂或助焊剂框架可能会使您的结构不同。 React-starter-kit是开始尝试不同实现的好地方。

答案 1 :(得分:4)

基本上你可以从任何React.js样板开始;仔细研究,并从几个方面评估问题

  • 很容易将人们分开作品
  • 应用程序结构有意义吗?一段时间后你在同一件事上做什么工作时,你会难以理解应用程序结构吗?
  • 以后如果你想添加功能主义者会难以这样做吗? (说你想要csrf支持)

我比较了几个反应锅炉板,最终选择了isomorphic500。我修改了一些代码以达到这样的目的:

app structure

我的src文件夹中的内容是您将要开发的模块。对我而言,如果所有模块都是分离的,那么开发内容会更容易,通过这样做,你可以将你的工作分离给你的队友,如果有的话。

答案 2 :(得分:2)

这样的事情怎么样,我看到很多关于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