Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 反应:在生产模式下使用serve进行部署_Reactjs_Serve - Fatal编程技术网

Reactjs 反应:在生产模式下使用serve进行部署

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文件夹内 不幸的是,它

我在web服务器上部署了一个reactjs应用程序

我构建我的应用程序(所以它是创建一个
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部署的详细信息