如何更改 PublicPath 以在开发环境中创建 React App
How to change PublicPath for Create React App in Dev Environment
我正在使用 Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final which internally uses Create-react-app and AspnetCore.ReactDevelopmentServer
我的开发者。环境正在使用 IIS 托管多个 api's say api1 as http://localhost/api1 and api2 as http://localhost/api2
问题 是如果我从 Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final template to http://localhost/myApp 托管我的 React 应用程序 - 它期望文件始终使用 PublicPath“/”提供,因此不起作用。
我从 package.json 知道 Create-react-app's Prod setup uses PublicPath from PUBLIC_URL or Homepage。
是否可以修改 create-react-app 设置以在 Dev 中使用自定义 publicpath。环境?
在 github 上进行了更多谷歌搜索和搜索旧问题后,我意识到此功能将在 react-scripts 2.0 中发布,其中应该包括
https://github.com/facebook/create-react-app/pull/1887。这将允许在 create-react-app
中提供文件的地方将子路径包含在 url 中
在 package.json 中使用 "proxy" 将允许创建 React 应用程序以在开发环境中与服务器端通信。我正在使用 VSCode 到 运行 应用程序,并且由于代理值 - 我的应用程序正在与我的 IIS 托管服务通信。
您可以在本地计算机上的 .env.local
中设置 PUBLIC_URL
。
小心不要在构建发布时设置此 file/variable。您可以在 cra 文档上阅读有关 .env
文件的更多信息。
在我注入项目后,我看到了这些行:
// We use `PUBLIC_URL` environment variable or "homepage" field to infer
// "public path" at which the app is served.
所以,请在环境文件
中更新PUBLIC_URL
在您的 package.json
中添加一个 homepage
键。这将强制使用定义的前缀构建所有文件。
// package.json
{
"name": "my-project",
"homepage": "/my-path",
// ....
}
输出:
/my-path/assets/my-asset.png
有两种方法,看你的需要
在 .env.development 文件中添加 PUBLIC_URL
PUBLIC_URL=http://localhost:3000
在package.json
中添加主页属性
// package.json
{
"name": "my-project",
"homepage": "/my-path",
// ....
}
我正在使用 Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final which internally uses Create-react-app and AspnetCore.ReactDevelopmentServer
我的开发者。环境正在使用 IIS 托管多个 api's say api1 as http://localhost/api1 and api2 as http://localhost/api2
问题 是如果我从 Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final template to http://localhost/myApp 托管我的 React 应用程序 - 它期望文件始终使用 PublicPath“/”提供,因此不起作用。
我从 package.json 知道 Create-react-app's Prod setup uses PublicPath from PUBLIC_URL or Homepage。
是否可以修改 create-react-app 设置以在 Dev 中使用自定义 publicpath。环境?
在 github 上进行了更多谷歌搜索和搜索旧问题后,我意识到此功能将在 react-scripts 2.0 中发布,其中应该包括 https://github.com/facebook/create-react-app/pull/1887。这将允许在 create-react-app
中提供文件的地方将子路径包含在 url 中在 package.json 中使用 "proxy" 将允许创建 React 应用程序以在开发环境中与服务器端通信。我正在使用 VSCode 到 运行 应用程序,并且由于代理值 - 我的应用程序正在与我的 IIS 托管服务通信。
您可以在本地计算机上的 .env.local
中设置 PUBLIC_URL
。
小心不要在构建发布时设置此 file/variable。您可以在 cra 文档上阅读有关 .env
文件的更多信息。
在我注入项目后,我看到了这些行:
// We use `PUBLIC_URL` environment variable or "homepage" field to infer
// "public path" at which the app is served.
所以,请在环境文件
中更新PUBLIC_URL在您的 package.json
中添加一个 homepage
键。这将强制使用定义的前缀构建所有文件。
// package.json
{
"name": "my-project",
"homepage": "/my-path",
// ....
}
输出:
/my-path/assets/my-asset.png
有两种方法,看你的需要
在 .env.development 文件中添加 PUBLIC_URL
PUBLIC_URL=http://localhost:3000
在package.json
中添加主页属性// package.json { "name": "my-project", "homepage": "/my-path", // .... }