# webpack4-es6-react
**Repository Path**: kevin402502/webpack4-es6-react
## Basic Information
- **Project Name**: webpack4-es6-react
- **Description**: A front-end project based on webpack4, react16, es6, antd and other technologies
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 2
- **Created**: 2021-06-17
- **Last Updated**: 2023-11-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### webpack4-es6-react
描述:一个基于 webpack4、React16、react-router-dom、es6、antd、axios 的前端项目,路由支持按需加载或按模块加载,ui框架默认配置是 antd,支持按需加载组件;
[typescript版本](https://github.com/NewPrototype/webpack4-es6-react-typescript)
#### 运行项目
- ```cnpm i ``` 安装依赖,注意版本依赖版本
- ```npm run start ``` 启动项目
#### 锁定依赖版本
- ``` npm install || yarn install```
#### 运行方法
- ```npm run dll``` 公共包第一次生成,后续都不需要重新生成,加快打包速度
- ```npm run start``` 启动项目
- ```npm run dev``` 快捷打包,不压缩文件,发布测试环境
- ```npm run build``` 正式打包,压缩文件,发布生产环境
#### 功能
- 编译速度快(使用 happypack 插件实现多线程执行任务)
- 按需加载(不同页面文件单独压缩)
- hash 指纹(js、css 文件自动添加版本号)
- es2015
- 支持 less、stylus
- 图片体积小支持 base64 压缩
- 支持 svg 解析
- 支持自定义打包文件的目录
- 支持热更新
- 支持打包输出 map 文件,去除 console.log,注释
- 支持打包压缩文件
- 按需切割路由 router.js 里面
- 增加 dll 加快打包速度
#### 开发依赖
- webpack 4.23.1
- react 16.6.0
- react-dom 16.6.0
- react-router-dom 4.3.1
- antd 3.10.4
- axios 0.18.0
- react-loadable 5.5.0
- react-router 4.3.1
#### 目录结构
```
.
├── dist --------------------- 打包文件
├── dll --------------------- dll文件
├── webpack.config --------------------- webpack相关配置
├── package.json --------------------- 项目配置
├── yarn.json --------------------- yarn 版本锁定
├── README.md ------------------------ 说明文件
└── src ------------------------------ 源码目录
└── util ------------------------ 辅助
└── error.js --------------------- 错误检查
└── performance.js --------------------- 页面性能
├── index.js -------------------------- 入口文件路由配置
├── router.js -------------------------- 路由配置
├── loadable.js -------------------------- 按需加载路由配置
├── index.styl -------------------------- 公共css
├── index.html -------------------------- html入口文件
├── components ------------------- 业务模块集合目录
├── api ------------------- 接口集合
├── images ----------------------- 图片资源目录
└── pages ------------------------ 页面集合目录
└── home --------------------- home页面
├── Home.js ------------- 页面入口文件
└── Home.styl -------- 页面样式
└── index.js -------- 页面样式
```
#### 克隆
```
git clone https://github.com/NewPrototype/webpack4-es6-react.git
```
#### 速度
- 打包速度从 76830 毫秒提升到 14830 毫秒
```
Hash: 7e97185183a8397d60dc
Version: webpack 4.23.1
Time: 14830ms
Built at: 2018-06-11 11:20:01
```
- 热更新速度从 2500 毫到 500 毫秒左右
```
Hash: df56e41b7815ca326b9e
Version: webpack 4.23.1
Time: 500ms
Built at: 2018-06-12 15:27:47
```
#### todoList
- 按需加载路由
- 输出 webpack 编译 json,分析编译时间
- 支持 axios
- 支持 TypeScript
- 加入DllPlugin加快打包
- 提高 webpack 编译速度(一直在持续...)