PR-753737: Se agrega soporte para typescript.

This commit is contained in:
2022-04-22 15:00:14 +00:00
parent d6f2d2d5dd
commit df79637288
18 changed files with 714 additions and 122 deletions

View File

@ -2,10 +2,14 @@ require('dotenv').config();
require('ignore-styles');
//require('webpack-node-externals')();
require('@babel/register')({
'presets': [
'@babel/preset-env',
'@babel/preset-react'
'@babel/preset-react',
"@babel/preset-typescript",
// '@babel/preset-flow',
]
});

View File

@ -14,10 +14,10 @@ import React from 'react';
import { renderToString } from 'react-dom/server';
//Router
import { StaticRouter } from 'react-router-dom/server';
import routes from '../routes';
//Redux
import { createStore } from 'redux'; //, applyMiddleware
import { Provider } from 'react-redux';
import reducer from '../frontend/reducers';
import setStore from '../frontend/setStore.js';
import initialState from '../frontend/reducers/initialState';
//Get Hashes
import getHashManifest from './getHashManifest';
@ -26,6 +26,8 @@ import App from '../frontend/components/App';
const { env, port } = config;
const routesUrls = routes.map( route => route.path)
const app = express();
if(env === 'development'){
@ -88,20 +90,25 @@ const setResponse = (html, preloadedState, manifest) => {
`);
};
const renderApp = (req, res) => {
const store = createStore(reducer, initialState);
const preloadedState = store.getState();
const html = renderToString(
<Provider store={store}>
<StaticRouter location={req.url}>
<App />
</StaticRouter>
</Provider>
);
res.send(setResponse(html, preloadedState, req.hashManifest));
const renderApp = (req, res, next) => {
if(routesUrls.includes(req.url)){
const store = setStore({ initialState });
const preloadedState = store.getState();
const html = renderToString(
<Provider store={store}>
<StaticRouter location={req.url}>
<App />
</StaticRouter>
</Provider>
);
res.send(setResponse(html, preloadedState, req.hashManifest))
}
next()
};
app.get('*', renderApp);
app
.get('*', renderApp);
app.listen(port, (err) => {
if(err) console.error(err);