# MVP原则 即`最简化可实行产品`原则, 以`Webpack`示例: ## 既有项目引入新的组件/库 假设现有项目用到了 `react`, `react-router` , `antd` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. 此时如果要引入 `mobx`, 最佳实践步骤为: 1. 新建一个空项目, 将既有库 `react`, `antd` 等安装, 配置一个最简单的 `hello world` 路由 2. 安装 `mobx`, 引入并测试通过 3. 再在原有项目上进行功能扩充 ## 既有项目打包优化 假设现有项目用到了 `react`, `react-router` , `antd`, `mobx` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. webpack打包过大, 应用性能较差. 最佳实践步骤: 1. 新建一个空项目, 新建一个空的webpack配置 2. 安装 `react` (或 `antd`, 或 `mobx`等) 写一个简单示例引入项目 3. 针对单一库进行 `webpack` 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用 4. 一项优化完成后重复2,3步骤, 直到所有库优化完成 5. 对原有项目的 webpack 配置进行替换, 不动项目源码 6. 进一步优化, 比如 `react-router-loader` 之类的引入, 开始针对项目源码进行优化