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 相关文章推荐
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 Javascript
jQuery带进度条全屏图片轮播特效代码分享
Jun 28 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
Jan 06 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
JS实现课堂随机点名和顺序点名
Mar 09 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
Sep 19 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
使用javascript做时间倒数读秒功能的实例
Jan 23 Javascript
JavaScript基础之this和箭头函数详析
Sep 05 Javascript
JS中封装axios来管控api的2种方式
Sep 11 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伪造referer实例代码
2008/09/20 PHP
php简单提示框alert封装函数
2010/08/08 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
vue axios同步请求解决方案
2017/09/29 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
Python完全新手教程
2007/02/08 Python
Django实现自定义404,500页面教程
2017/03/26 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
python中id函数运行方式
2020/07/03 Python
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
廉政教育心得体会
2014/01/01 职场文书
小学新教师培训方案
2014/02/03 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
学生会个人总结范文
2015/02/15 职场文书
金砖之国观后感
2015/06/11 职场文书
python实现简单聊天功能
2021/07/07 Python
go goroutine 怎样进行错误处理
2021/07/16 Golang