构建全栈应用程序目录的合适方法是什么?
What is an appropriate way to structure the directory of a fullstack application?
为了预先提出这个问题,我会提到这是我在 Whosebug 上的第一个问题,所以如果我错过了常见的做法或错过了其他更容易回答的问题,我很抱歉。
我的问题是指其他人构建全栈应用程序的方式。就我而言,我正在制作一个 PERN(PostgreSQL、Express、React、Node)堆栈应用程序。我环顾四周,看到一些教程建议应该将前端和后端的关注点分开,这意味着应该有一个 root/
目录,其中包含 /client/
和 /server/
目录及其自己的 package.json
、node-module
等。我假设 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
└─ ...
此外,我很好奇专用于运行服务器的 Javascript 的名称。我看过 index.js
和 server.js
将前端与后端分离是一种常见的方法,尤其是当您有单独的团队进行开发时。
部分考虑因素应该是您想使用哪种身份验证方法(会话与令牌)以及您希望如何部署您的应用程序。
让一个节点服务器为您的前端提供服务的一个好处是它是同一个域,因此您可以使用会话。如果你解耦它,它将在不同的域上,所以你通常会使用令牌。
将它们解耦的一个好处是您可以将多个前端应用程序连接到一个 Restful API。
几个月前我遇到了同样的问题,并在不同的应用程序上尝试了这两种方法。我真的认为这取决于您的用例,但建议您在几个个人项目中尝试两者。
这是一个应用程序示例,它使用相同的服务器来提供构建文件夹。 https://github.com/StephenGrider/FullstackReactCode/tree/master/server
为了预先提出这个问题,我会提到这是我在 Whosebug 上的第一个问题,所以如果我错过了常见的做法或错过了其他更容易回答的问题,我很抱歉。
我的问题是指其他人构建全栈应用程序的方式。就我而言,我正在制作一个 PERN(PostgreSQL、Express、React、Node)堆栈应用程序。我环顾四周,看到一些教程建议应该将前端和后端的关注点分开,这意味着应该有一个 root/
目录,其中包含 /client/
和 /server/
目录及其自己的 package.json
、node-module
等。我假设 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 └─ ...
此外,我很好奇专用于运行服务器的 Javascript 的名称。我看过 index.js
和 server.js
将前端与后端分离是一种常见的方法,尤其是当您有单独的团队进行开发时。 部分考虑因素应该是您想使用哪种身份验证方法(会话与令牌)以及您希望如何部署您的应用程序。
让一个节点服务器为您的前端提供服务的一个好处是它是同一个域,因此您可以使用会话。如果你解耦它,它将在不同的域上,所以你通常会使用令牌。
将它们解耦的一个好处是您可以将多个前端应用程序连接到一个 Restful API。
几个月前我遇到了同样的问题,并在不同的应用程序上尝试了这两种方法。我真的认为这取决于您的用例,但建议您在几个个人项目中尝试两者。
这是一个应用程序示例,它使用相同的服务器来提供构建文件夹。 https://github.com/StephenGrider/FullstackReactCode/tree/master/server