Reactjs 反应:在生产模式下使用serve进行部署
我在web服务器上部署了一个reactjs应用程序 我构建我的应用程序(所以它是创建一个Reactjs 反应:在生产模式下使用serve进行部署,reactjs,serve,Reactjs,Serve,我在web服务器上部署了一个reactjs应用程序 我构建我的应用程序(所以它是创建一个build文件夹),当我想用~/.npm packages/bin/service-s./build-l启动它时tcp://0.0.0.0:8100it work(当work dir设置为react/时,build在这里react/build,但我们可以在我的页面上看到所有源代码,这在生产模式下是不可能的 如果我将工作目录设置为react/build,它将返回404错误 在build文件夹内 不幸的是,它
build
文件夹),当我想用~/.npm packages/bin/service-s./build-l启动它时tcp://0.0.0.0:8100
it work(当work dir设置为react/
时,build在这里react/build
,但我们可以在我的页面上看到所有源代码,这在生产模式下是不可能的
如果我将工作目录设置为react/build
,它将返回404错误
在build
文件夹内
不幸的是,它没有返回任何其他错误
更新:我只储存build
文件夹,它可以工作,但即使在生产模式下,我们也总能看到源代码
如果我更改为react/build
,react/build/static
或其他,它将显示404。如果您正在使用(创建react应用程序的默认值,我假设您正在使用),则第二个参数是要服务的目录:
$ serve --help
$ serve} [-l listen_uri [-l ...]] [directory]
By default, serve will listen on 0.0.0.0:5000 and serve the
current working directory on that address.
-s, --single Rewrite all not-found requests to `index.html`
但是Service是用于开发服务的。它对于一个小的静态站点的制作很好,但是考虑另一个生产验证的Web服务器。
您的未统一源不应保留在生产服务器上。您应该只将生成文件部署到生产服务器上。如果您正在使用(create react app的默认值,我假设您正在使用),则第二个参数是要服务的目录:$ serve --help
$ serve} [-l listen_uri [-l ...]] [directory]
By default, serve will listen on 0.0.0.0:5000 and serve the
current working directory on that address.
-s, --single Rewrite all not-found requests to `index.html`
但是Service是用于开发服务的。它对于一个小的静态站点的制作很好,但是考虑另一个生产验证的Web服务器。
您的未统一源代码根本不应该保存在生产服务器上。您应该只将构建文件部署到生产服务器上。最后,我删除了选项
-s./build
,它可以工作-s
和/build
是两个不同的选项,而不是一个:-s
是将404s重定向到index.html文件,而directory是服务的基本路径。没有可选目录,它服务于当前的工作目录——这似乎是您遇到的问题。最后,我删除了选项-s./build
,it work-s
和/build
是两个不同的选项,而不是一个:-s
是将404s重定向到index.htmlle,目录是要服务的基本路径。如果没有可选目录,它将服务于当前的工作目录——这似乎是您遇到的问题。由于您正试图在生产环境中部署,因此我建议使用pm2
和service
来实现您的目的。您可以找到有关如何反编译的详细信息在链接中使用pm2部署由于您试图在生产环境中部署,我建议使用pm2
和service
来实现您的目的。您可以在链接中找到有关如何使用pm2部署的详细信息