从 parcel v1 -> CRA 切换,如何在开发期间通过重新加载提供静态 Web 文件

Switch from parcel v1 -> CRA, how to serve static web file with reload during development

背景:本来打算转parcel v2的,运行遇到了很多问题,真的开始不喜欢parcel了。我设法解决了一些问题,尽管它们的错误消息非常不直观。到了“包裹构建”有效但“包裹服务”无效的地步,并且无法在线找到答案。那时,我决定改用 Create React App,因为它更符合“行业”标准。 (谢谢你听我说运行t。)

当我使用 parcel v1 时,我的开发环境设置是 运行“parcel index.html”(它有热模块替换),我在我的服务中提供静态文件后端。

但我不知道如何使用 create-react-script 来做到这一点。 “react-scripts start”不会构建到“build”文件夹,“react-scripts build”只会构建一次并且不会重新加载。我仍然想提供静态文件。我该怎么办?

如果您只是出于开发目的这样做,您可以使用后端服务器的代理,通过 Create React App 指向服务器 运行。

例如,使用 Fastify,你可以在 1234 上提供你的 React 应用程序,并从你的服务器代理到它,像 fastify-http-proxy:

const proxy = require('fastify-http-proxy');

// Normal routes here
fastify.register(proxy, { upstream: 'http://localhost:1234' });

fastify.listen(process.env.PORT, '0.0.0.0');