如何在Dev环境中更改PublicPath for Create React App

时间:2018-02-08 00:32:33

标签: reactjs iis development-environment create-react-app asp-net-core-spa-services

我正在使用内部使用Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-finalCreate-react-app

AspnetCore.ReactDevelopmentServer

我的开发。环境使用IIS来托管多个api,例如api1为http://localhost/api1,api2为http://localhost/api2

问题是指我将我的React应用程序从Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final模板托管到http://localhost/myApp - 它希望文件始终以PublicPath“/”提供,因此无效。

我知道Create-react-app的Prod设置使用来自PublicPathPUBLIC_URL或来自package.json的Homepage

是否可以修改create-react-app设置以在Dev中使用自定义公共路径。环境?

4 个答案:

答案 0 :(得分:3)

在github上做了一些谷歌搜索和搜索旧问题之后,我意识到这个功能将在react-scripts 2.0中发布,应该包括  https://github.com/facebook/create-react-app/pull/1887。这将允许子路径包含在url中,在create-react-app

中提供文件的位置

答案 1 :(得分:0)

您可以在本地计算机上的PUBLIC_URL中设置.env.local

在构建发行版时,请注意不要设置此文件/变量。您可以阅读有关cra documenatation的.env文件的更多信息。

答案 2 :(得分:0)

在我注入项目后,我看到了以下几行:

// We use `PUBLIC_URL` environment variable or "homepage" field to infer
// "public path" at which the app is served.

所以,请更新环境文件中的 PUBLIC_URL

答案 3 :(得分:-1)

在package.json中使用“proxy”将允许create react app在开发环境中与服务器端通信。我正在使用VSCode来运行应用程序,因为代理价值 - 我的应用程序正在与我的IIS托管服务进行通信。

请参阅:https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#proxying-api-requests-in-development