Redux+Flux+webpack+Babel如何整合开发

发布时间:2022-01-14 09:36:08 作者:小新
来源:亿速云 阅读:114

这篇文章主要为大家展示了“Redux+Flux+webpack+Babel如何整合开发”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redux+Flux+webpack+Babel如何整合开发”这篇文章吧。

一、现代前端开发

A.ES6——新一代的JavaScript标准

1.const、let关键字:let块级作用域,const常量(如果是引用类型,那么可以修改它的属性)

2.函数:

3.展开操作符:Rest参数就是展开操作符,允许一个表达式在某处展开

4.模板字符串:`My name is ${name}`,使用`符号

5.解构赋值:

6.类:提供了class语法糖,只是原来原型链方式的一种语法糖

7.模块

B.使用Babel

1.Babel可以提前使用语言新特性,是一种多用途的js编译器,把最新版本的js编译成当下可以执行的版本

2.核心概念是通过一系列的plugin来管理编译规则,通过不同的plugin,不仅可以编译ES6代码,还可以编译React JSX语法或者是CoffeeScript等

C.前端组件化方案

1.模块是语言层面的,在前端领域我们说的module一般都是指JS module,往往表现为一个单独的JS文件;前端组件则更多是业务层面的概念,可以看成是一个可独立使用的功能实现,往往表现为一个UI部件(并不绝对)

2.JS模块化方案:

3.前端组件化方案:

D.辅助工具

1.包管理器:npm

2.任务流工具(Task Runner):Grunt和Gulp

3.模块打包工具:Bundler、webpack

二、webpack

A.webpack的特点与优势

1.RequireJS的特点:

2.webpack的特色

B.基于webpack进行开发

1.webpack主要做了两部分工作:

2.loader是作用于应用中资源文件的转换行为。它们 是函数(运行在Node.js环境中),接收资源文件的源代码作为参数,并返回新的代码

3.使用style-loader、css-loader会让样式代码延后与js同时加载,用户体验不好,可以借助extract-text-webpack-plugin插件,在打包时将样式内容抽取并输出到额外的css文件中

4.plugin的存在可以看成是为了实现那些loader实现不了或不适合在loader中实现的功能,如自动生成项目的HTML页面(HtmlWebpackPlugin)、向构建过程中注入环境变量(EnvironmentPlugin)、向块(chunk)的结果文件中添加注释信息(BannerPlugin)等

5.webpack -w,实时构建,热替换:webpack-dev-server

三、初识React

1.三大特点:

A.使用React与传统前端开发的比较

1.React会使用diff,计算出变化的部分,再将变化的部分作用到真实的DOM上,实现最终页面的更新

2.React的事件绑定表现为,值为回调函数的组件属性(props)。好处是,绑定事件的过程自然地变成了界面渲染(render)的一部分,无须特别处理

B.JSX

1.JSX类似一种语法糖,把标签类型的写法转换成React提供的一个用来创建ReactElement的方法

2.HTML类型的标签第一个字母用小写来表示,React组件标签第一个字母用大写来表示

3.当遇到传入的属性是{}表达式时,里面的代码会被当作JS代码处理;在JSX中,遇到标签就解释成组件或者HTML标签,遇到{}就解释为JS代码来执行

4.子组件位置的注释需要使用{/* … */}

5.使用扩散操作符(...)可以进行属性扩散,需要注意参数顺序

6.使用Babel编译JSX

C.React+webpack开发环境

*webpack2,没有preLoaders了,使用rules,另外eslint的airbnb报错

D.组件

1.组件是React的基石,所有的React应用程序都是基于组件的

2.state是组件内部的属性,组件本身是一个状态机,它可以在constructor中通过this.state直接定义它的值,然后根据这引起值来渲染不同的UI

3.组件生命周期

4.state设计原则:尽量让大多数的组件都是无状态的,应该尽量把状态分离在一些特定的组件中,来降低组件的复杂程度;state中应该包含组件的事件回调函数可能引发UI更新的这类数据;不应该包含在state中的数据:可以由state计算得出的数据;组件;props中的数据

5.节点上设置一个ref属性,然后通过this.refs.name获得对应的DOM结构

E.Virtual DOM

1.Virtual DOM是独立React所存在的,只不过React在渲染的时候采用了这个技术来提高效率

2.ReactElement是一种轻量级的、无状态的、不可改变的、DOM元素的虚拟表述,其实就是用一个JS对象来表述DOM元素而已,将ReactElement插入真正的DOM中,可以调用ReactDOM的render方法

四、实践React

1.state的设计原则:尽量简化数据,遵循DRY(Don’t Repeat Yourself)的原则

2.通用测试工具:Mocha、Chai

五、Flux架构及其实现

1.Flux是Facebook官方提出的一套前端应用架构模式,核心概念就是单向数据流

2.传统MVC是双向数据流,单向数据流是Action->Dispatcher->Store->View

3.Flux优缺点:会增加代码量,引入了大量的概念和文件,带来了清晰的数据流,合理地把数据和组件的state分离,保持了清晰的逻辑,数据流动更加明了,提供可预测的状态,避免了多向数据流动带来的混乱和维护困难

4.Redux三大定律:单一数据源、state是只读的、使用纯函数执行修改

六、使用Redux

1.Redux着眼于对状态整体的维护,而不会产生出具体变去的部分,React是一个由状态整体出来界面整体的view层实现,非常适合Redux实现

2.当我们说如何使用Redux时,说的其实是如何获取并使用store的内容(状态数据),以及创建并触发action的过程

3.Redux的特点是单一数据源,即整个应用的状态信息都保存在一个store中,因而需要由store将数据从React组件树的根节点传入

七、React+Redux进阶

1.反而模式(anti-pattern或antipattern)指的是在实践中明显出现但又低效或是有待优化的设计械,是用来解决问题的带有共同性的不良方法

2.优化原则:避免过早优化、着眼瓶颈;在优化React时,绝大部分的优化空间在于避免不必要的render—即Virtual DOM节点的生成

以上是“Redux+Flux+webpack+Babel如何整合开发”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 如何重构PhoneGap架构和代码,支持软硬整合开发
  2. 详解Electron如何整合React使用搭建开发环境

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

redux flux webpack

上一篇:form表单和ajax提交的区别有哪些

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》