欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
前言
 
RIS, React Integrated Solution. 它的目标是提供一套基本的构建配置方案,而且配置是能高度扩展的,希望通过它能对外输出 React 的一些最佳实践。
 
RIS 是我在去年11月开始开源出去的,这工具之前在内部团队使用过,反馈还不错,断断续续维护和写文档,现在介绍给大家,希望能给大家提供一些帮助和启发。
 
背景
 
目前社区已经有很多优秀的工具或框架做前端构建的事情,而且集成了相关的最佳实践,比如 create-react-app,react-boilerplate,umi 等等,这三个我都觉得做得很不错,我做 RIS 的时候很多想法都来源于它们。那为啥我还要重复造轮子?轮子不怕造,最重要是能说服自己,我觉得自己可以做出跟别人不一样甚至有创新的东西出来,其次,在造的过程中,也是自己对于前端构建一些思考的沉淀。
 
在这说下自己的一些想法:
 
create-react-app: 它的构建和开发体验我觉得是做得最好的,也得到了社区的认可,但我觉得唯一缺乏的是扩展比较麻烦,受限于里面内置的构建,当然有人说可以使用 enject 的方式,但这样又失去了工具的意义了。
 
react-boilerplate:它的亮点主要是集成了一些最佳实践,基本包含了项目开发中所需的技术,但只是一个工程,没有工具化。
 
umi:它是支付宝做的企业级应用框架,可以通过插件集成相关的功能,约束比较强,自主权很小。
 
RIS 要做到的是更像是 create-react-app 的方式,提供最底层的构建,同时提供通用的一些开发方案, 再给予开发者足够的自由定制自己想要的,希望通过这个工具输出 React 开发的最佳实践。
 
快速体验
 
npx create-ris ris-app
 
cd ris-app
 
npm start
 
npm 的版本需要是 5.2 及以上
 
详细可参考文档。
 
特性
 
主要的特性:
 
✔ 开箱即用,内置了空白模板和标准模板,集成 react, react-outer 等。
 
✔︎ 高扩展性,可以高度定制项目内容和构建配置。
 
✔︎ 极致的开发体验,使用了 DLL 加快构建速度,可以使用命令快速新建组件和页面。
 
✔︎ 高性能,使用了 react-loadable 实现代码的按需加载。
 
✔︎ 强大的数据模拟功能, 很方便地在开发环境模拟数据。
 
✔︎ 高效的数据流处理,集成了 xredux,很好地处理数据流问题。
 
开箱即用
 
使用 create-ris 可快速创建脚手架,目前集成了 空白模板 和 标准模板。
 
npx create-ris <appName>
 
空白模板(simple)
 
创建出来的项目和 create-react-app 创建的差不多,只是一个空白项目。
 
├── README.md
 
├── package.json
 
├── src
 
│   ├── App.js
 
│   ├── App.scss
 
│   ├── index.html
 
│   └── index.js
 
└── tools
 
    ├── generators
 
    │   ├── component
 
    │   │   ├── class.js.hbs
 
    │   │   ├── index.js
 
    │   │   └── stateless.js.hbs
 
    │   ├── index.js
 
    │   └── utils
 
    │       └── componentExists.js
 
    ├── risrc.js
 
    ├── server
 
    │   └── index.js
 
    └── webpack
 
        ├── base.js
 
        ├── dev.js
 
        └── prod.js
 
标准模板(standard)
 
主要集成了 react-router, react-redux, xredux,react-loadable 等库,主要提供单页应用的标准解决方案。
 
├── README.md
 
├── mock
 
│   └── rules.js
 
├── package.json
 
├── src
 
│   ├── assets
 
│   ├── components
 
│   ├── core
 
│   │   └── request
 
│   ├── index.html
 
│   ├── index.js
 
│   ├── pages
 
│   │   ├── Demo
 
│   │   │   ├── Loadable.js
 
│   │   │   ├── index.js
 
│   │   │   ├── index.scss
 
│   │   │   └── model.js
 
│   ├── routes.js
 
│   ├── services
 
│   ├── store
 
│   └── utils
 
└── tools
 
详细目录可以创建项目来体验一下。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h63595.shtml