你可以使用react-router
和一些叫做異步路由的東西。使用Webpack,您可以使用require.ensure
爲每條路線創建多個拆分點。
而不是有一個巨大的js/css文件,你會得到多個(儘可能多你想)文件,當用戶輸入一個特定的路線異步下載。
import { injectReducer } from '../../store/reducers'
export default (store) => ({
path : 'forum',
/* Async getComponent is only invoked when route matches */
getComponent (nextState, cb) {
/* Webpack - use 'require.ensure' to create a split point
and embed an async module loader (jsonp) when bundling */
require.ensure([], (require) => {
/* Webpack - use require callback to define
dependencies for bundling */
const Counter = require('./containers/ForumContainer').default
const reducer = require('./modules/forum').default
/* Add the reducer to the store on key 'forum' */
injectReducer(store, { key: 'forum', reducer })
/* Return getComponent */
cb(null, Forum)
/* Webpack named bundle */
}, 'forum')
}
})
因此,與當有人進入yourawesomepage.com/forum上述配置必要的文件被下載並減速(從終極版)負責論壇被注入。
This是一個開箱即用的開箱即用功能。
建議您閱讀反應路由器。另外,開始將頁面和頁面分割成組件。稍後您會看到將網站從可重用組件中分離出來是多麼容易。想想法式。您現在可以忽略服務器端,只需爲您的數據執行API調用即可。 – Joseph
+1反應路由器。 nextJS還內置了路由器,但我只用它做了一個小型測試項目。 redux是爲了國家管理,在我看來與指導人們到一個網站的不同「部分」無關。 – aberkow
好的,我應該爲所有不同的部分創建不同的路由器路由? 但是,我應該關心服務器端? 好吧,減肥似乎是脫節的東西,也許我應該關心以後的改善? –