React:在生产模式下部署服务
React: deployment with serve in production mode
我有一个部署在我的网络服务器上的 reactjs 应用程序。
我构建了我的应用程序(所以它创建了一个 build
文件夹),当我想用 ~/.npm-packages/bin/serve -s ./build -l tcp://0.0.0.0:8100
启动它时它工作(工作目录设置为 react/
,构建是这里 react/build
但我们可以在我的页面上看到所有源代码,该理论在生产模式下是不可能的。
如果我将工作目录设置为 react/build
它 return 404 错误。
在 build
文件夹中
不幸的是,它没有 return 任何其他错误。
更新:我只存储 build
文件夹并且它可以工作,但我们总能看到源代码,即使它处于生产模式。
如果我改成react/build
、react/build/static
等,显示404。
如果您正在使用 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`
但是serve是为了开发服务。它适用于制作小型静态站点,但请考虑使用另一个经过生产验证的 Web 服务器。
你的未压缩源根本不应该保存在生产服务器上。您应该只将构建文件部署到生产环境。
我有一个部署在我的网络服务器上的 reactjs 应用程序。
我构建了我的应用程序(所以它创建了一个 build
文件夹),当我想用 ~/.npm-packages/bin/serve -s ./build -l tcp://0.0.0.0:8100
启动它时它工作(工作目录设置为 react/
,构建是这里 react/build
但我们可以在我的页面上看到所有源代码,该理论在生产模式下是不可能的。
如果我将工作目录设置为 react/build
它 return 404 错误。
在 build
文件夹中
不幸的是,它没有 return 任何其他错误。
更新:我只存储 build
文件夹并且它可以工作,但我们总能看到源代码,即使它处于生产模式。
如果我改成react/build
、react/build/static
等,显示404。
如果您正在使用 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`
但是serve是为了开发服务。它适用于制作小型静态站点,但请考虑使用另一个经过生产验证的 Web 服务器。
你的未压缩源根本不应该保存在生产服务器上。您应该只将构建文件部署到生产环境。