node.js - 构建全栈应用程序目录的合适方法是什么?
问题描述
为了解决这个问题,我会提到这是我在 Stackoverflow 上的第一个问题,所以如果我错过了常见的做法或错过了其他一些让这个问题更容易回答的问题,我很抱歉。
我的问题是指其他人构建他们的全栈应用程序的方式。就我而言,我正在制作一个 PRN(PostgreSQL、Express、React、Node)堆栈应用程序。我环顾四周,看到一些教程建议应该将前端和后端的关注点分开,这意味着应该有一个root/
目录,其中包含一个/client/
和/server/
目录以及它们自己的package.json
,node-module
等。我假设,README.md
和.gitignore
其他常见文件仍在根目录中。总的来说,我想知道常用的目录结构以及我对所提供信息的假设是否正确。
例子:
├─ 客户/ │ ├─ 节点模块/ │ ├─ 公开/ │ ├─ src/ │ ├─ package.json │ ├─ package-lock.json │ └─ ... ├─ 服务器/ │ ├─ 节点模块/ │ ├─ index.js │ ├─ package.json │ ├─ package-lock.json │ └─ ... ├─ README.md ├─ .gitignore └─ ...
另外,我很好奇专用于运行服务器的 Javascript 的名称。我见过index.js
并且server.js
解决方案
将前端与后端分离是一种常见的方法,尤其是当您有单独的团队开发每个时。部分考虑应该是您要使用的身份验证方法(会话与令牌)以及您希望如何部署应用程序。
使用一台节点服务器为您的前端提供服务的一个好处是它是同一个域,因此您可以使用会话。如果将其解耦,它将位于不同的域中,因此您通常会使用令牌。
将它们解耦的一个好处是您可以让多个前端应用程序连接到一个 Restful API。
I had this same question a couple months ago and tried both methods with different apps. I really think it depends on your use case, but recommend trying both on a couple personal projects.
Here is an example of an app that uses the same server to serve up the build folder. https://github.com/StephenGrider/FullstackReactCode/tree/master/server
推荐阅读
- python - Python 文本处理项目,类型错误:'int' 对象不可迭代
- javascript - 如何创建从变量中获取值的 HTML 元素
- mysql - 模板解析时出错。Spring boot 和 Thymeleaf
- r - 导入Excel文件时R将数字转换为TRUE
- python - 如何使用 python 显示 .gif 图像?
- apache - 如何为 HTTP 基本身份验证指定白名单(除了某些需要密码的路径)?
- sql - SQL 消息 156,级别 15,状态 1,行 2 关键字“级联”附近的语法不正确
- google-maps - 生成或获取 Google 地图短“goo.gl/maps...”网址
- html - 使用flex实现四列到列列表的反馈
- mongodb - MongoDB 模拟从返回 null