[英]React scripts access management with Express (React+Node+Express)
[英]React+Node+Express app not accesible on localhost:3000
我有一个 web 应用程序,以 React 作为frontend
,以 node+express 作为backend
。 应用程序的文件夹结构如下图所示( client
文件夹在server
文件夹内)
client
中的package.json
有如下代码
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
server
中的package.json
有如下代码
"scripts": {
"start": "node server.js",
"server": "nodemon server.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
},
当我执行npm run dev
时,我收到消息说我的服务器正在端口 8080 上运行并且反应应用程序也已成功编译并且可以在 http://localhost:3000 上查看
但是当我访问 http://localhost:3000 时,我得到以下信息
它工作正常,但是当我添加一个button.module.css
文件时,我从 Typescript 收到错误。Stackoverflow 上建议的解决方案之一是创建一个declaration.d.ts
文件。 现在错误消失了,但是网站没有加载!!!
我不知道添加这个文件是怎么回事。 我尝试在“client”文件夹中运行“npm start”
但我不知道发生了什么,屏幕切换到“server”文件夹中的“npm run dev”
谁能帮忙?
更新
我使用npx create-react-app app --template typescript
创建了另外 2 个 React 应用程序。
server
文件夹旁边,server
文件夹中的一个(在client
文件夹旁边)他们两个都工作得很好。 连接到 localhost:3000 没有问题。
所以我去一个一个地比较我的文件夹和新创建的文件夹的内容。 事实证明我删除了名为react-app-env.d.ts
的文件(该文件由 npx npx create...
自动创建)。 我删除了,因为它的内容只是/// <reference types="react-scripts" />
,没有别的。
我看过很多教程,他们删除了src
文件夹的所有文件,虽然这个文件“没用”
我已将此文件复制到我的应用程序文件夹中并且工作正常!!!
经验教训= 不要碰你不明白的东西; 尤其是当一切正常时 ;-)
您想要多层架构,但认为 npm 对您不利。
尝试未嵌套的项目,尝试单一回购/多项目方法。
像这样的东西: https://github.com/sombriks/palavrim/blob/main/package.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.