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 相关文章推荐
Jquery中显示隐藏的实现代码分析
Jul 26 Javascript
Node.js模块加载详解
Aug 16 Javascript
简介JavaScript中Boolean.toSource()方法的使用
Jun 05 Javascript
JavaScript访问字符串中单个字符的两种方法
Jul 03 Javascript
jQuery表格行上移下移和置顶的实现方法
Oct 08 Javascript
JavaScript驾驭网页-获取网页元素
Mar 24 Javascript
javascript获取select标签选中的值
Jun 04 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
JavaScript惰性载入函数实例分析
Mar 27 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
Aug 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 地区分类排序算法
2013/07/01 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
PHP 实现缩略图
2021/03/09 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
jQuery分组选择器简单用法示例
2019/04/04 jQuery
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
深入理解Python中装饰器的用法
2016/06/28 Python
python模块导入的方法
2019/10/24 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
Django 实现图片上传和下载功能
2020/12/31 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
新浪网技术部笔试题
2016/08/26 面试题
标准毕业生自荐信
2014/06/24 职场文书
干部个人考察材料
2014/12/24 职场文书
2016新年致辞
2015/08/01 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis