我有一个已部署在Web服务器上的reactjs应用程序。
我构建了我的应用程序(因此它创建了一个build
文件夹),当我想以~/.npm-packages/bin/serve -s ./build -l tcp://0.0.0.0:8100
启动它时(它的工作目录设置为react/
,它就可以在{ {1}},但我们可以在页面上看到所有源代码,这种理论在生产模式下是不可能的。
如果我将工作目录设置为react/build
,则会返回404错误。
在react/build
文件夹内
不幸的是,它没有返回任何其他错误。
更新:我只存储build
文件夹并且可以使用,但是即使在生产模式下,我们也始终可以看到源代码。
如果我更改为build
,react/build
或其他,它将显示404。
答案 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服务器。
您的未缩小来源完全不应保留在生产服务器上。您应该只将构建文件部署到生产环境。