我在我的应用程序中使用 NodeJs + React。我在 NodeJs 中使用express。我使用“create-react-app”npm 创建了示例应用程序。
我使用 NodeJs 从 React 应用程序调用 oauth 令牌。我在这篇文章中提到了这种方法从 Javascript 调用安全的 REST API,无需用户登录屏幕 https://stackoverflow.com/questions/48053565/calling-a-secured-rest-api-from-javascript-without-user-login-screen .
我在下面添加了这个命令来启动 NodeJs 和我的 React 应用程序。有用。
"scripts": {
"node": "react-scripts-ts build & node server"
}
问题是我没有获得“create-react-app”附带的实时跟踪功能,因为我没有启动 webpack-dev-server。如果我做了一些更改,我必须运行“yarn node”来重新编译并启动 Node js 服务器。
我的问题是如何在不丢失“create-react-app”的实时跟踪功能的情况下启动nodejs express。
如果我需要弹出“create-react-app”并自定义脚本,只要我有以下功能就可以了。
- 启动nodejsexpress-api
- 加载我的反应应用程序
- 如果我的 React 或 Nodejs Express 文件有任何更改,它应该自动重新加载。
如果您有任何疑问,请随时告诉我。
Thanks,
有一个很棒的教程介绍了处理此设置的好方法:https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/ https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/
总结一下:你可以用你习惯的任何方式编写你的node+express服务器 - 我们会说它位于一个名为的目录中project
- then 嵌套在其中使用 create-react-app 创建的前端目录,例如project/client
.
当你开发时,你实际上会运行两个服务器:后端服务器(npm start
)和嵌套的 create-react-app 附带的 webpack-dev-server (cd client && npm start
)。在浏览器中,您将导航到 webpack-dev-server 提供的 URL(默认为 localhost:3000)。
在生产中,您不需要运行两台服务器。您将捆绑您的前端(cd client && npm run build
),那么你的后端服务器只需要提供捆绑包服务,例如通过express的静态中间件:
if (process.env.NODE_ENV === 'production') {
app.use(express.static('client/build'))
}
我跳过了一些细节,因此如果此设置听起来适合您,请查看我链接的教程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)