配置 React 应用程序在生产环境中的启动方式
Configure how React app is started in production
create-react-app
和 npm
菜鸟,我在部署到生产环境时遇到了一些问题。当我启动我的应用程序时,我想启动一个特定的 js 文件,以及 运行 正常的 react-scripts start
。所以在我的 package.json
中,我有以下内容。
"scripts": {
"start": "node -r esm src/server.js & react-scripts start",
...
}
当我 运行 npm start
时,效果很好,两个脚本都在本地和向上执行并且 运行ning.
我的粗略阅读似乎表明 npm start
只是为了开发。在生产中,将使用 build/
文件夹并且...我无法弄清楚它是如何 运行。在本地测试,运行ning npm run build
后,build/
文件夹就做好了。然后 运行ning serve -s build
,执行了一些操作,但不是我的 npm start
脚本。看起来只是react-scripts start
。尝试部署到多个真实生产服务器(如 Firebase 和 Netlify)的行为方式相同。
那么生产构建究竟是如何开始的呢?以及如何将其配置为像我的开发版本一样运行。
我觉得我一定是误解了一些基本的东西,因为我在网上找不到任何解释,但我们将不胜感激。
如果您对我为什么会有这种奇怪的设置感兴趣,我正在尝试使用多人游戏服务器部署 boardgame.io。
使用 npm start
的原因是您可以即时启动本地 Web 服务器并与 nodemon
和其他好东西配对,可以轻松查看对源的更改,就像它正在生产中。
npm build
将源代码转换为适合生产的轻量级延迟加载包。构建完成后,您可以使用 Web 服务器来托管 build/index.html
并从那里访问站点。你用什么来托管它取决于你(最常见的是 nginx
但你 可以 使用类似 apache
或 node
的东西,就像你暗示的那样与 serve -s build
)。
create-react-app
和 npm
菜鸟,我在部署到生产环境时遇到了一些问题。当我启动我的应用程序时,我想启动一个特定的 js 文件,以及 运行 正常的 react-scripts start
。所以在我的 package.json
中,我有以下内容。
"scripts": {
"start": "node -r esm src/server.js & react-scripts start",
...
}
当我 运行 npm start
时,效果很好,两个脚本都在本地和向上执行并且 运行ning.
我的粗略阅读似乎表明 npm start
只是为了开发。在生产中,将使用 build/
文件夹并且...我无法弄清楚它是如何 运行。在本地测试,运行ning npm run build
后,build/
文件夹就做好了。然后 运行ning serve -s build
,执行了一些操作,但不是我的 npm start
脚本。看起来只是react-scripts start
。尝试部署到多个真实生产服务器(如 Firebase 和 Netlify)的行为方式相同。
那么生产构建究竟是如何开始的呢?以及如何将其配置为像我的开发版本一样运行。
我觉得我一定是误解了一些基本的东西,因为我在网上找不到任何解释,但我们将不胜感激。
如果您对我为什么会有这种奇怪的设置感兴趣,我正在尝试使用多人游戏服务器部署 boardgame.io。
使用 npm start
的原因是您可以即时启动本地 Web 服务器并与 nodemon
和其他好东西配对,可以轻松查看对源的更改,就像它正在生产中。
npm build
将源代码转换为适合生产的轻量级延迟加载包。构建完成后,您可以使用 Web 服务器来托管 build/index.html
并从那里访问站点。你用什么来托管它取决于你(最常见的是 nginx
但你 可以 使用类似 apache
或 node
的东西,就像你暗示的那样与 serve -s build
)。