题注:欢迎加入阿里南京前端团队,欢迎关注了解更多讯息。
React & Webpack Boilerplate V4
是笔者前端常用模板集锦项目 的一部分,尽可能地使用无异议的工具,提供直观且简洁明了的方式;相较于 create-react-app,具有更好的可配置性与适应性,适合于中长期项目。支持最新的 Webpack 4 & React 16.3 版本,如果需要引入 TypeScript 支持,可以借鉴 这个模板。
为了保证项目的纯粹性,将原本 React Router,Redux,MobX 等常见的技术框架的使用迁移到了 的其他模板项目中。也可以查阅 ,或者 、 了解更多 Web 开发实践的知识。
配置与使用
下载或者克隆 ,并且进入 react/webpack
子目录:
# 安装依赖$ cnpm install# 仅启动 Web 开发服务器$ npm run dev# 启动 Web 开发服务器与 Mock 服务器$ npm start# 启动 Storybook 服务,在进行组件开发时使用$ npm run storybook# 编译为可发布的包体$ npm run build# 使用 *.umd.* 配置文件,编译为库$ npm run build:lib# 执行 ESLint$ npm run lint# 执行包体分析$ npm run analyze复制代码
如果我们是进行的多页面应用开发,那么可以在 文件中添加更多的 Entry 与 配置。
技术栈
-
样式
- 支持使用 CSS Modules/SCSS/Less 等 CSS 模块化解决方案,对于潜在的类名过长导致的冗余包体等问题可以参考 。
- 示例代码使用了 作为 CSS-in-JS 库。
- 使用 PostCSS 作为 CSS 代码的后置 Polyfill 以及语法转换支持,详见 中的配置。
-
约束
- 使用 作为代码格式化工具。
- 强烈建议使用 ESLint 进行代码风格控制,可以使用 插件以获得更好的开发体验;ESLint 规则推荐使用 。
- 可以使用 等格式化工具处理代码的细节风格,譬如引用顺序等问题。
-
测试
- 使用 作为 Test Runner 以及单元测试框架。
- 使用 作为 React 组件的测试框架。
-
计算
- 使用 提供便捷的 Web Worker 计算支撑,可以参考 获取更多内容。
开发态特性
- 热加载
- 使用内建的 作为开发服务器。
- 使用 提供 React 组件热加载的能力。
- 构建优化
- 使用 DllPlugin 作为开发环境下公共代码提取工具以优化编译速度生产环境。
- 可以考虑使用 , 等工具提升 Webpack 的并行处理能力。
发布态特性
- 代码分割,Webpack 4 移除了 CommonChunksPlugin,替换以 optimization 与 splitChunks 配置项,详细配置参考 。
- PWA 特性,使用 添加便捷的 PWA 支持。
- 服务端渲染,详见 。
- 代码优化,使用 Prepack & prepack-webpack-plugin 进行代码优化。