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 相关文章推荐
IE/FireFox具备兼容性的拖动代码
Aug 13 Javascript
Prototype Number对象 学习
Jul 19 Javascript
JavaScript通过正则表达式实现表单验证电话号码
Mar 07 Javascript
jquery基础教程之数组使用详解
Mar 10 Javascript
JavaScript支持的最大递归调用次数分析
Jun 24 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
Apr 27 Javascript
javascript特殊日历控件分享
Mar 07 Javascript
vue中将html字符串转换成html后遇到的问题小结
Dec 10 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 Javascript
js实现表格数据搜索
Aug 09 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/05/04 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
javascript计时器事件使用详解
2014/01/07 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python3实现磁盘空间监控
2018/06/21 Python
Django 多环境配置详解
2019/05/14 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
工业学校毕业生自荐信范文
2014/01/03 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
学生吸烟检讨书
2014/09/14 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
党员三严三实心得体会
2014/10/13 职场文书
2015学校年度工作总结
2015/05/11 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书