Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 React/webpack-如何在一台服务器上托管React应用程序,在另一台服务器上托管图像/字体?_Reactjs_Webpack_Create React App - Fatal编程技术网

Reactjs React/webpack-如何在一台服务器上托管React应用程序,在另一台服务器上托管图像/字体?

Reactjs React/webpack-如何在一台服务器上托管React应用程序,在另一台服务器上托管图像/字体?,reactjs,webpack,create-react-app,Reactjs,Webpack,Create React App,出于商业原因,我必须在一个域上托管我的React应用程序,并从另一个域(即S3)提供图像/字体。不确定如何配置应用程序来执行此操作 例如,我想在以下位置托管我的React应用程序: 然后从以下位置提供我的静态资源(图像和字体): *** 我不知道如何配置我的CreateReact应用程序或网页包来完成此操作。我知道PUBLIC_URL是可用的,但这仍然迫使我在同一台服务器上运行React应用程序和资产。这还不算太糟-我对我的几个应用程序也做了类似的事情。 首先,使用S3 bucket将您想要的

出于商业原因,我必须在一个域上托管我的React应用程序,并从另一个域(即S3)提供图像/字体。不确定如何配置应用程序来执行此操作

例如,我想在以下位置托管我的React应用程序:

然后从以下位置提供我的静态资源(图像和字体): ***


我不知道如何配置我的CreateReact应用程序或网页包来完成此操作。我知道PUBLIC_URL是可用的,但这仍然迫使我在同一台服务器上运行React应用程序和资产。

这还不算太糟-我对我的几个应用程序也做了类似的事情。 首先,使用S3 bucket将您想要的资产放到S3上

这里有一个很好的youtube视频(这是关于从react应用程序上传,但AWS设置在某些方面类似):

因此,一旦你有了aws bucket设置,你可能会有一个叫做“site_images”的。此时,您可以像处理任何其他图像一样从S3中获取这些图像:

https://camel.assets.s3.amazonaws.com/images/SOME-IMAGE-ON-AWS
您可以通过css文件以类似的方式加载字体,最有可能的方式是:

@fontface {
  font-family: 'My Awesome Font';
  src: url('https://camel.assets.s3.amazonaws.com/fonts/SOME-FONT-ON-AWS')
}
具体如何操作取决于您的配置。您需要调整我们的aws桶,以备CORS使用,这可能有点麻烦。这些链接应该会帮助你在正确的方向虽然


您是否尝试使用类似的插件

您可以为所需的所有资产定义规则


当然,您必须弹出CRA或使用某种react应用程序重新布线或重新描述。

这里什么是
PUBLIC\u URL
,您认为这可能有帮助吗?:Create react应用程序假定您的应用程序托管在服务web服务器的根目录或package.json(主页)中指定的子路径上。通常,createreact应用程序会忽略主机名。您可以使用此变量强制将资产逐字引用到您提供的url(包括主机名)。这在使用CDN托管应用程序时可能特别有用。