2018年:
Yarn
Parcel
npm scripts
Yarn
速度快,输出更简洁,自动配置 package.json
。
Parcel
中 Web 开发常用的功能是开箱即用的,如babel
、PostCSS
、热模块加载(HMR)
。
相比 Webpack 的海量 plugin 和配置文件,Parcel 开始一个项目更加简单,不易出错。
自定义任务比较少,npm scripts
足够了。
PostCSS
Less
Ant Design
CSS Modules
classnames
PostCSS 的 Autoprefixer
太强大了,减少开发这很多压力,明显提高效率。
Less 可以定义变量,定义简单运算,提高了开发效率。更重要的是 Less 可以运行在 Node 或浏览器端。
AntD 提供大量组件和完整详细的文档支持,还提供一个 ant-design-pro
作为最佳实践作为参考。
CSS 的问题:
- 全局污染
- 命名混乱
- CSS 全局污染导致 CSS 文件不可能压缩到极限,命名太长了。
CSS Modules 完美解决。
Component State / Context
项目不是特别复杂,全员都是第一次接触 React,在不能完全把握 Redux 的情况下,暂时不打算引入 Redux。
PropTypes
项目不是特别复杂,全员熟悉动态语言(Perl)。并且我不认为加上类型就一定能减少bug。
React-Router
这个没什么好说的,主流技术。
axios
这个没什么好说的,主流技术。
Lodash
Moment
这个没什么好说的,主流技术。
Jest
Enzyme
Nightwatch.js
我个人使用 Nightwatch.js
做 E2E 测试多次,已经有一套稳定可用的 E2E 模版,可以直接使用。
另外我觉得 E2E 测试不确定性太多,有时间应该重点覆盖单元测试。
React Intl
这个没什么好说的,主流技术。
- ES6
- babel
- Code Style
- ESLint
- Stylelint
- Prettier pre-commit