代码之家  ›  专栏  ›  技术社区  ›  Simranjit Singh

如何在Dev环境中更改创建React应用程序的PublicPath

  •  10
  • Simranjit Singh  · 技术社区  · 8 年前

    我正在使用 Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final 内部使用 Create-react-app AspnetCore.ReactDevelopmentServer

    我的开发环境使用IIS托管多个api,比如api1作为 http://localhost/api1 和api2 as http://localhost/api2

    问题 如果我从 微软DotNet。网状物水疗中心。项目模板::2.0.0-rc1-final 模板收件人 http://localhost/myApp -它希望文件始终使用PublicPath“/”提供,因此不起作用。

    我知道 创建react应用程序 的产品设置使用 PublicPath 从…起 PUBLIC_URL Homepage 来自程序包。json。

    是否可以修改create react app安装程序以在开发环境中使用自定义公共路径?

    6 回复  |  直到 8 年前
        1
  •  6
  •   Filipe Borges Diego Cruz    7 年前

    您可以设置 PUBLIC_URL 在里面 .env.local 在本地计算机上。

    在构建发布版本时,请小心不要设置此文件/变量。您可以阅读更多关于 .env cra文件上的文件。

        2
  •  5
  •   Simranjit Singh    8 年前

    在github上进行了更多的Google搜索和旧问题搜索之后,我意识到该功能将在react scripts 2.0中发布,其中应包括 https://github.com/facebook/create-react-app/pull/1887 . 这将允许在url中包含子路径,从中可以在create react应用程序中提供文件

        3
  •  2
  •   Vu Luu    5 年前

    在我完成项目后,我看到了以下几行:

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

    因此,请在环境文件中更新PUBLIC\u URL

        4
  •  2
  •   Robert-Jan Kuyper    4 年前

    在您的 package.json 添加一个 homepage 钥匙这将强制使用定义的前缀生成所有文件。

    // package.json
    {
       "name": "my-project",
       "homepage": "/my-path",
       // ....
    }
    

    输出:

    /my-path/assets/my-asset.png
    
        5
  •  0
  •   GreatJx    4 年前

    根据您的需要,有两种方法

    1. 添加 PUBLIC\u URL 在里面环境。开发文件

      PUBLIC_URL=http://localhost:3000
      
    2. 添加 主页 包中的属性。json

      // package.json
      {
         "name": "my-project",
         "homepage": "/my-path",
         // ....
      }
      

    Reference from source

        6
  •  -3
  •   Simranjit Singh    8 年前

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

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