Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 构造fullstack应用程序目录的适当方法是什么?_Node.js_Reactjs_Directory Structure - Fatal编程技术网

Node.js 构造fullstack应用程序目录的适当方法是什么?

Node.js 构造fullstack应用程序目录的适当方法是什么?,node.js,reactjs,directory-structure,Node.js,Reactjs,Directory Structure,为了解决这个问题,我要提到的是,这是我关于Stackoverflow的第一个问题,所以如果我错过了一些常见的实践,或者错过了一些其他更容易回答的问题,我很抱歉 我的问题涉及到其他人构建其完整堆栈应用程序的方式。在我的例子中,我正在制作一个PERN(PostgreSQL、Express、React、Node)堆栈应用程序。我环顾四周,看到一些教程建议前端和后端应该分开,这意味着应该有一个根/目录,其中包含一个/client/和/server/目录以及它们自己的包.json,节点模块,等等。我假设R

为了解决这个问题,我要提到的是,这是我关于Stackoverflow的第一个问题,所以如果我错过了一些常见的实践,或者错过了一些其他更容易回答的问题,我很抱歉

我的问题涉及到其他人构建其完整堆栈应用程序的方式。在我的例子中,我正在制作一个PERN(PostgreSQL、Express、React、Node)堆栈应用程序。我环顾四周,看到一些教程建议前端和后端应该分开,这意味着应该有一个
根/
目录,其中包含一个
/client/
/server/
目录以及它们自己的
包.json
节点模块
,等等。我假设
README.md
.gitignore
和其他常见文件仍在根目录中。总的来说,我想知道哪些目录结构是常用的,以及我对所提供信息的假设是否正确

例如:

├─ client/ │ ├─ node-modules/ │ ├─ public/ │ ├─ src/ │ ├─ package.json │ ├─ package-lock.json │ └─ ... ├─ server/ │ ├─ node-modules/ │ ├─ index.js │ ├─ package.json │ ├─ package-lock.json │ └─ ... ├─ README.md ├─ .gitignore └─ ... ├─ 客户/ │ ├─ 节点模块/ │ ├─ 公开的/ │ ├─ src/ │ ├─ package.json │ ├─ package-lock.json │ └─ ... ├─ 服务器/ │ ├─ 节点模块/ │ ├─ index.js │ ├─ package.json │ ├─ package-lock.json │ └─ ... ├─ 自述文件 ├─ .gitignore └─ ...
另外,我对运行服务器的Javascript的专用名称感到好奇。我见过
index.js
server.js

将前端与后端分离是一种常见的方法,特别是当您有单独的团队开发每个前端时。 考虑的一部分应该是您想要使用什么身份验证方法(会话与令牌),以及您想要如何部署应用程序

使用一个节点服务器作为前端的一个好处是,它是同一个域,因此您可以使用会话。如果您将其解耦,它将位于不同的域上,因此您通常会使用令牌

解耦它们的一个好处是,可以让多个前端应用程序连接到一个Restful API

几个月前我也遇到过同样的问题,并在不同的应用程序中尝试了这两种方法。我真的认为这取决于您的用例,但建议您在几个个人项目上同时尝试这两种方法


下面是一个应用程序的示例,该应用程序使用同一台服务器提供构建文件夹

分离关注事项。不要认为它是单个应用程序或单个单元。后端是独立的,这是所有数据真实性的来源。您的后端将能够作为一个单元支持您的移动应用程序、web应用程序、桌面应用程序等,而您的前端(基于react的应用程序)是一个不同的应用程序。您可以使用一个包含两个子文件夹的文件夹,1用于客户端,2用于服务器,这样会更好,因为您以后不会弄乱应用程序。(服务器)(客户端)完全取决于开发人员所遵循的风格。看看