0

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

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

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

build文件夹

内部构建

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

更新:我只存储build文件夹并且它可以工作,但我们总是可以看到源代码,即使它处于生产模式。

如果我更改为或其他react/buildreact/build/static它会显示 404。

4

1 回答 1

2

如果您使用的是npm 的服务(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`

但是 serve 是为了开发服务。它适用于小型静态站点的生产,但考虑另一个经过生产验证的 Web 服务器。

根本不应该将未压缩的源代码保存在生产服务器上。您应该只将构建文件部署到生产环境。

于 2018-06-27T14:40:55.017 回答