有人要求我对不具有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或正则表达式。