react MPA 多页配置详解


Posted in Javascript onOctober 18, 2019

create-react-app 默认创建的是 SPA 应用,随着代码量的增加,build 后的 js 文件会越来越大。网上有很多拆分大的 js 文件的方案,但其实把 SPA 拆分成 MPA 也未尝不是一种解决方案。下面是 react 多页面配置过程,以备忘。

一、创建工程

create-react-app react-mpa

二、eject 配置文件

yarn eject

测试下 eject 是否正常yarn start

三、配置页面

① 修改 webpack entry

entry: {
   index:[
    isEnvDevelopment && require.resolve('react-dev-utils/webpackHotDevClient'),
    paths.appIndexJs,
   ].filter(Boolean)
  },

② 修改 webpack output

output: {
  filename: isEnvProduction
    ? 'static/js/[name].[contenthash:8].js'
    : isEnvDevelopment && 'static/js/[name].js',
}

③ 修改 HtmlWebpackPlugin

{
 inject: true,
 template: paths.appHtml,
 // 新增
 filename: 'index.html',
 chunks: ['index'],
}

测试下项目工程是否正常运行 yarn start

四、增加页面

1、新建页面所需文件

① 新建 html 页面
复制 public/index.html 为 public/index2.html

② 新建 js 文件
复制 src/index.js 为 src/index2.js
复制 src/App.js 为 src/App2.js

③ 增加文件引用(config/paths.js)

react MPA 多页配置详解

2、webpack 配置

① 增加 entry 配置

react MPA 多页配置详解

② 增加 HtmlWebpackPlugin 配置

react MPA 多页配置详解

运行工程
yarn start

测试页面
http://localhost:3000/index.html
http://localhost:3000/index2.html

仓库地址
https://github.com/lifefriend/react-mpa

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
Aug 06 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
Aug 30 Javascript
jQuery的cookie插件实现保存用户登陆信息
Apr 15 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
Angular Js文件上传之form-data
Aug 28 Javascript
ajax图片上传,图片异步上传,更新实例
Dec 30 Javascript
详解vue父子组件间传值(props)
Jun 29 Javascript
原生js+cookie实现购物车功能的方法分析
Dec 21 Javascript
Node.js使用supervisor进行开发中调试的方法
Mar 26 Javascript
一文看懂如何简单实现节流函数和防抖函数
Sep 05 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
vue滚动插件better-scroll使用详解
Oct 18 #Javascript
VUE实现密码验证与提示功能
Oct 18 #Javascript
VUE实现图片验证码功能
Nov 18 #Javascript
countUp.js实现数字滚动效果
Oct 18 #Javascript
Vue-cli3项目引入Typescript的实现方法
Oct 18 #Javascript
细述Javascript的加法运算符的具体使用
Oct 18 #Javascript
ElementUI之Message功能拓展详解
Oct 18 #Javascript
You might like
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
js 调用百度分享功能
2017/02/27 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
Python中列表与元组的乘法操作示例
2018/02/10 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
python将视频转换为全字符视频
2019/04/26 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
pycharm永久激活超详细教程
2020/10/29 Python
Reformation官网:美国女装品牌
2018/09/14 全球购物
运动会通讯稿100字
2014/01/31 职场文书
可口可乐广告词
2014/03/20 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
2014年妇联工作总结
2014/11/21 职场文书
管理失职检讨书
2015/05/05 职场文书
付款证明模板
2015/06/19 职场文书
师范生见习自我总结
2015/06/23 职场文书
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js
Pandas 数据编码的十种方法
2022/04/20 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android