create-react-app 默認建立的是 SPA 應用,隨着代碼量的增長,build 後的 js 文件會愈來愈大。網上有不少拆分大的 js 文件的方案,但其實把 SPA 拆分紅 MPA 也何嘗不是一種解決方案。下面是 react 多頁面配置過程,以備忘。javascript
create-react-app react-mpa
複製代碼
yarn eject
複製代碼
測試下 eject 是否正常 yarn starthtml
entry: {
index:[
isEnvDevelopment && require.resolve('react-dev-utils/webpackHotDevClient'),
paths.appIndexJs,
].filter(Boolean)
},
複製代碼
output: {
filename: isEnvProduction
? 'static/js/[name].[contenthash:8].js'
: isEnvDevelopment && 'static/js/[name].js',
}
複製代碼
{
inject: true,
template: paths.appHtml,
// 新增
filename: 'index.html',
chunks: ['index'],
}
複製代碼
測試下項目工程是否正常運行 yarn startjava
複製 public/index.html 爲 public/index2.html
複製代碼
複製 src/index.js 爲 src/index2.js
複製 src/App.js 爲 src/App2.js
複製代碼
運行工程 yarn startreact
測試頁面 http://localhost:3000/index.html http://localhost:3000/index2.htmlwebpack
倉庫地址 github.com/lifefriend/…git