当前位置: 首页 > 知识库问答 >
问题:

如何在MERN中组织后端和前端的文件结构

唐骏祥
2023-03-14
- /models
-- item.js
- /node.modules
-- ...
- server.js
- package-lock.json
- package.json
- /src
-- /assets
--- index.css
-- /components
--- Somecomponent.js
-- /containers
--- App.js
-- /reducers
--- somereducers.js
- /node.modules
-- ...
-- index.js
-- registerServiceWorker.js
- .gitignore
- package-lock.json
- package.json
- /client 
-- /src
...
-- index.js
-- registerServiceWorker.js
- .gitignore
- package-lock.json
- package.json

- /server
- /models
-- item.js
- /node.modules
-- ...
- server.js
- package-lock.json
- package.json

在这个阶段我卡住了。我可以使它如果客户机文件夹内的服务器文件夹或如果服务器文件夹内的客户机。1.但是当两个文件夹是兄弟文件夹时,如何使其运行呢?2.package.json应该是什么,node.modules应该在哪里(服务器和客户端是否都应该有自己的package.json和modules?)

共有1个答案

王兴腾
2023-03-14

最基本的结构是有一个文件夹,其中包含前端后端文件夹。既然您讨论的是MERN堆栈,那么在NodeJS后端环境中应该有一个package.json和一个package.json用于React方面。后端服务器和前端客户机是两个完全独立的东西,所以是的,它们都有自己的node_modules文件夹。在后端,您可能已经为节点运行时安装了Express,为与MongoDB进行更方便的对话安装了MongoSe,等等;在前端,您将使用React作为前端框架,Redux进行状态管理,等等。此外,根据您已经在package.json文件中列出的内容,当您单独运行NPM install时,它将安装在这两个文件夹中。如果要安装其他软件包,只需在需要的特定文件夹(后端或/和前端)中运行npm install+“软件包的名称”(不带'+'和引号)。

我希望这能有所帮助。看看照片,尤其是第二张。

文件夹结构

    null
"scripts": {
"start": "node app.js",  // in production
"dev": "nodemon app.js", // in development
}
   "scripts": {
       "dev": "concurrently \"cd backend && npm run dev\" \"cd frontend && npm start\" "
   }

这将做的是进入后端文件夹并运行dev命令(与我们刚才配置的命令相同),这样将启动nodemon。此外,它还将进入前端文件夹并运行默认的start命令-这正是我们想要的。

如果保留文件夹结构,安装所有依赖项(包括上面提到的另外两个),更改root文件夹中的package.json文件,则可以通过一个简单的命令启动它们:

npm运行dev//这样做时请确保您在根文件夹中:)

 类似资料:
  • 库被设计为模块化的,同时保持必须包括的头文件的数量以获得相当低的基本功能。 库的结构也故意保持简单,因为我们都喜欢简单。 以下是头文件组织的一般概述。 该库提供的所有标题的列表也可在左侧面板(标题标签下)看到,以备您需要更多详细信息。 boost/hana.hpp 这是库的主标题,其中包括库的整个公共接口。请注意,外部适配器,实验功能和实现细节不包括在这个头文件中,但是,因为其中一些需要额外的依赖

  • 问题内容: 我正在开发一个新项目,其中react / express作为前端,而loopback作为后端api。我在开发环境中使用不同的端口将它们分开。 我应该如何在生产中部署它们? 托管在同一服务器上-将后端与其他子域分开? 在2台不同的服务器上托管-似乎无法使用同一域。 问题答案: 您可以部署 您的 静态托管服务* 和 CDN 前端 *** AWS S3 + AWS CloudFront Go

  • 所以我的问题就在这里:顺便说一句,我在通过谷歌找到如何做到这一点时遇到了一些困难,我尝试使用StackOverflow,但找不到确切的答案 纱线启动 要在localhost:3000上运行并启动,我希望它在localhost:3000上启动,同时在该服务器上启动express服务器,也就是在express.js中启动react服务器。 似乎我找到的每一个教程,大多数都过时了,剩下的是将反应变成静态

  • 需求是这样子的: 页面 字段关联: 后端提供的接口长这样: 这个没看懂啊,按理来说应该按照页面的逻辑来的,设计的是啥数据结构,他们还说这样比较好扩展,这是要扩展啥?

  • 我目前有一个运行Angular 2前端和Spring Boot后端的Web应用程序。 为了集成这两个组件,我遵循了本教程。 http://blog.jdriven.com/2016/12/angular2-spring-boot-getting-started/ 我的应用程序现在具有与此相同的结构 https://github.com/jbruinink/ng2boot 现在,只需一个命令即可构建

  • 后台返回一个html文件的链接,想要在前端预览查看,使用window.open("链接")打开,但是浏览器直接下载了,并没有打开文件 后台增加Content-Disposition:inline还是打开