Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Routerin käyttö backendin kautta

E1ss [14.12.2018 16:39:06]

#

Tein nettisivuni frontendin komennolla create-react-app ja backendin npm init. Frotendin merkityksellinen kohta näyttää tältä.

<div className="container">
  <Route exact path="/" render={() => <Home />}/>
  <Route exact path="/projects" render={() => <Projects/>}/>
  <Route exact path="/about" render={() => <About/>}/>
</div>

Sitten backendin koko index.js koodi tässä:

const express = require('express')
const app = express()

app.use(express.static('build'))

const PORT = 3000
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`)
})

Sitten suoritin frontendissä komennon npm build ja siirsin build kansion backendin kansioon. Siirsin backendin kansion (jossa siis build kansio) ec2:teen ja sivusto toimi moitteettomasti. Sitten kuitenkin huomasin että vaikka "menun" näppäimet toimi eli pystyin navigoimaan sillä niin ei sivusto toiminut kun yritin mennä suoraan jollekin sivulle esim. www.google.com/about. Laitan sen käyntiin periaatteessa node index.js komennolla jolloin se backendin kautta avaa myös frontendin. Tämä on siis varmastikin syynä mutta en osaa ratkaista sitä.

Lisäys: Oho sainkin ratkaistua.

Lisäys: Jos joku etsii joskus niin tässä ratkaisu https://facebook.github.io/create-react-app/docs/deployment

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta