Kun hostaat React-sovellusta React Routerin avulla IIS (Internet Information Services)-palvelimella, reititysvaihteita tapahtuu usein siksi, että IIS käsittelee reittejä eri tavalla kuin tyypilliset single-page sovelluspalvelimet. Tämän oppaan avulla opetetaan määrittelemään IIS:n uudelleenohjaussäännöt, asentamaan React Router oikein ja vianmäärittämään yleisiä käyttöönoton ongelmia varmistaaksesi, että asiakaspuolen reititys toimii sujuvasti IIS:ssä.
Miten määrittää React Router IIS:lle
-
Vaihe 1: Määrittele IIS:n uudelleenohjaussäännöt
IIS:n täytyy määrittää käsittelemään asiakaspuolen reititystä oikein. Lisää uudelleenohjaussäännöt
web.config-tiedostoon ohjauttaaksesi kaikki pyynnötindex.html-tiedostoon:<configuration> <system.webServer> <rewrite> <rules> <rule name="React Router Routes" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="/" /> </rule> </rules> </rewrite> </system.webServer> </configuration>Sijoita tämä määritys React-sovelluksesi juurihakemistoon sijaitsevaan
web.config-tiedostoon. -
Vaihe 2: Määrittele basename -ominaisuus React Routerissa
React Routerin määrityksissä käytä
basename-ominaisuutta määrittelemään kaikkien sijaintien perus-URL. Tämän pitäisi vastata alihakemistoa tai virtuaalista hakemistoa, jossa sovelluksesi on hostattuna IIS-palvelimella:<BrowserRouter basename="/your-subdirectory"> {/* Routes */} </BrowserRouter>Korvaa
/your-subdirectoryoikealla alihakemistopolulla, jossa sovelluksesi on hostattuna palvelimella. -
Vaihe 3: Määrittele build-asetukset
Kun kääntät React-sovelluksen, määrittele oikea kotisivun URL
package.json-tiedostossa. Tämän pitäisi myös vastata alihakemistoa tai virtuaalista hakemistoa, jossa sovelluksesi on hostattuna IIS-palvelimella:"homepage": "/your-subdirectory"Korvaa
/your-subdirectoryoikealla alihakemistopolulla. -
Vaihe 4: Testaa paikallisesti
Ennen käyttöönottoa IIS-palvelimelle, testaa React-sovelluksesi paikallisesti varmistaaksesi, että reititys toimii odotetusti. Voit käyttää työkaluja kuten
servetaihttp-serverpaikallisen React-sovelluksen tarjoamiseen ja reitityksen testaamiseen. -
Vaihe 5: Käyttöönotto ja virheenkorjaus
Käytöönottaa React-sovelluksesi IIS-palvelimelle ja testaa reititystä. Jos kohtaat ongelmia, käytä selaimen kehittämistyökaluja verkkopyyntöjen ja konsolin virheiden tarkastelemiseksi saamaan vihreitä siitä, mitä vika voi olla.