在package.json中配置代理并使用react-router

时间:2019-03-14 17:29:39

标签: node.js proxy react-router create-react-app package.json

有人要求我对不具有React Router的旧项目进行一些更改。更改之一是:添加它。该应用程序基于apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.example.shadowsheep.myapplication" minSdkVersion 24 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0-alpha03' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.2-alpha02' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha02' implementation 'com.squareup.okhttp3:okhttp:3.14.0' } 软件包,但已配置为使某些请求指向dev中的外部服务器。

此问题似乎出在底部的通配符代理中。

在package.json中:

create-react-app

现在,如果我添加任何这样的路由器:

"/path/one": {
    "target": "https://server.one.com:8509/",
    "secure": false,
    "changeOrigin": true
  },
  "/anotherpath": {
    "target": "https://server.two.com:7449/",
    "secure": false,
    "changeOrigin": true
  },
  "/.*": {
    "target": "https://server.x.com:8442/",
    "secure": false,
    "changeOrigin": true
  }

导航到<BrowserRouter> <Switch> <Route path="/new-page/" component={NewPage} /> <Route component={OldPage} /> </Switch> </BrowserRouter> 会击中localhost:3000/new-page/中指定的代理,而忽略路由器。

package.json软件包为Webpack开发服务器配置了正确的选项,以启用create-react-app-即设置了react-router属性。通常情况下,两者的播放效果不错,因此取决于代理服务器设置。

所以:您知道如何解决这个问题吗?添加一个额外的代理条目将historyApiFallback重定向回本地主机似乎不起作用,并且我不确定/new-page/中的代理条目是否正在使用glob或正则表达式。

0 个答案:

没有答案