Ho un'app con percorsi semplici. Funziona bene quando utilizzo il server di sviluppo webpack. Ora, voglio distribuirlo sul mio server di produzione. Così ho costruito bundle.js. Tuttavia, non sono sicuro di quale sia il modo corretto di servire il file sul server.Qual è il modo corretto di servire la produzione reacle.js compilato da webpack?
La maggior parte dei post del blog fermano a bundle.js costruzione o distribuirlo agli Heroku o nodejutsu. Cosa devo fare se voglio servirlo sul mio server?
ho cercato di servire il file sul Server Express, ma sto ottenendo questo errore nel browser (questo stesso percorso funziona bene con webpack-dev-server).
http://localhost:3000/app
non possono ottenere/app
ho percorso semplice come questo. pagina di destinazione a/funziona bene, ma non posso accedere a/percorso app
var Routes =() => (
<Router history={browserHistory}>
<Route path="/" component={Landing}>
</Route>
<Route path="/app" component={App}>
</Route>
</Router>
)
ecco la mia server.js. Ho messo bundle.js, index.html nel ./public
app.use(express.static('./public'));
app.listen(port, function() {
console.log('Server running on port ' + port);
});
Grazie, funziona perfettamente! Trovato un errore di battitura minore nella soluzione: Dovrebbe essere res.sendFile (path.resolve (__ dirname', ' 'pubblico/index.html')); –
Ottimo! Grazie anche per aver notato che ho modificato la risposta. –
ma cosa succede se la mia uscita webpack a './dist/bundle.js', mentre il mio codice disaggregato e index.html sono in' ./public'? cosa devo fare in prod? mio Server Express servire i file statici dal 'pubblico' .. ma lo script di riferimento index.html a 'dist/bundle.js' - non può raggiungere IT .... (questo è funziona bene con il server dev di webpack) –