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 相关文章推荐
javascript 日历提醒系统( 兼容所有浏览器 )
Apr 07 Javascript
jQuery 解析xml文件
Aug 09 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
May 23 Javascript
很棒的一组js图片轮播特效
Jan 12 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
Aug 10 Javascript
利用JS响应式修改vue实现页面的input值
Sep 02 Javascript
基于canvasJS在PHP中制作动态图表
May 30 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
Jul 18 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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
php限制文件下载速度的代码
2015/10/20 PHP
广告显示判断
2006/08/31 Javascript
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
Python OS模块常用函数说明
2015/05/23 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
详解python播放音频的三种方法
2019/09/23 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
商务英语广告词大全
2014/03/18 职场文书
政工例会汇报材料
2014/08/26 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记
python开发制作好看的时钟效果
2022/05/02 Python