React:在生产模式下进行部署

时间:2018-06-27 14:10:06

标签: reactjs serve

我有一个已部署在Web服务器上的reactjs应用程序。

我构建了我的应用程序(因此它创建了一个build文件夹),当我想以~/.npm-packages/bin/serve -s ./build -l tcp://0.0.0.0:8100启动它时(它的工作目录设置为react/,它就可以在{ {1}},但我们可以在页面上看到所有源代码,这种理论在生产模式下是不可能的。

如果我将工作目录设置为react/build,则会返回404错误。

react/build文件夹内

Inside build

不幸的是,它没有返回任何其他错误。

更新:我只存储build文件夹并且可以使用,但是即使在生产模式下,我们也始终可以看到源代码。

如果我更改为buildreact/build或其他,它将显示404。

1 个答案:

答案 0 :(得分:1)

如果您使用的是npm's serve(我假设您使用的是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`

但是服务是指发展服务。它可以很好地用于生产小型静态站点,但可以考虑使用另一台经过生产验证的Web服务器。

您的未缩小来源完全不应保留在生产服务器上。您应该只将构建文件部署到生产环境。