Mam aplikację z prostymi trasami. Działa dobrze, gdy używam serwera programującego Webpack. Teraz chcę wdrożyć go na moim serwerze produkcyjnym. Więc zbudowałem bundle.js. Jednak nie jestem pewien, jaki jest prawidłowy sposób obsługi pliku na serwerze.Jaki jest prawidłowy sposób obsługi produkcji reagować na bundle.js zbudowany przez WebPacka?
Większość postów na blogu zatrzymuje się przy budowaniu bundle.js lub wdrażaniu go w heroku lub nodejutsu. Co powinienem zrobić, jeśli chcę to zrobić na moim własnym serwerze?
Próbowałem serwować plik na serwerze ekspresowym, ale dostaję ten błąd w przeglądarce (ta sama trasa działa dobrze z webpack-dev-server).
http://localhost:3000/app
Can not Get/app
mam prostą drogę takiego. Strona docelowa w/działa poprawnie, ale nie mam dostępu do trasy aplikacji
var Routes =() => (
<Router history={browserHistory}>
<Route path="/" component={Landing}>
</Route>
<Route path="/app" component={App}>
</Route>
</Router>
)
Oto mój plik server.js. Włożyłem bundle.js, index.html w ./public
app.use(express.static('./public'));
app.listen(port, function() {
console.log('Server running on port ' + port);
});
Dzięki, działa idealnie! Znaleziono jedną pomniejszą literówkę w twoim rozwiązaniu: Powinno to być res.sendFile (path.resolve (__ dirname', ''public/index.html')); –
Świetnie! Dziękuję również za to, że to zauważyłem, zredagowałem odpowiedź. –
, ale co, jeśli mój pakiet wyjściowy do "./dist/bundle.js", a mój kod uwolniony i index.html są w "./public"? co muszę zrobić w prod? mój ekspresowy serwer udostępnia pliki statyczne z "public" ... ale skrypt referencyjny index.html do "dist/bundle.js" - CAN NOT REACH IT .... (to działa dobrze z serwerem dewelopera webpacka) –