y
Size: a a a
y
BA
import React from 'react'
import { hydrate } from 'react-dom'
import { loadableReady } from '@loadable/component'
import App from './App'
loadableReady(() => {
hydrate(
<App />,
document.getElementById('root')
)
})
import React from 'react'
import { renderToString } from 'react-dom/server'
import { ChunkExtractor } from '@loadable/server'
import { IStore } from '../../../client/src/types/store'
import ReduxProvider from '../../../client/components/ReduxProvider'
import RouterProvider from '../../../client/components/RouterProvider'
import App from '../../../client/components/App'
import store from '../../../client/store'
interface IRenderApp {
html: string
store: IStore
scripts: string
links: string
styles: string
}
export default function renderApp(url: string, context: object = {}): IRenderApp {
const statsFile = '../../../dist/client/loadable-stats.json'
const extractor = new ChunkExtractor({
statsFile,
entrypoints: [ 'app' ]
})
const jsx = extractor.collectChunks(
<ReduxProvider>
<RouterProvider
location={ url }
context={ context }
>
<App />
</RouterProvider>
</ReduxProvider>
)
const html = renderToString(jsx)
const redux = store.getState()
const scripts = extractor.getScriptTags()
const links = extractor.getLinkTags()
const styles = extractor.getStyleTags()
return {
html,
store: redux,
scripts,
links,
styles
}
}
BA
A
y
BA
y
y
y
BA
y
"build:client": "NODE_ENV=production webpack --mode production",
в package.json на "build:client": "cross-env NODE_ENV=production webpack --mode production",
А то у тебя ж винда. Не запустишь(DM
ЖЕ
DL
js
файла под разные модули? Например юзерский модуль и админский?KA
js
файла под разные модули? Например юзерский модуль и админский?KA
DL
KA
DL