积累

关于VUE

vue.js的两个核心是什么?          php

Vue.js是一个提供MVVM数据双向绑定的库,专一于UI层面,核心思想是:数据驱动、组件系统css

https://www.php.cn/js-tutorial-421002.htmlhtml

 

vue中 keep-alive 组件的做用        前端

keep-alive 是 Vue 内置的一个组件,可使被包含的组件保留状态,或避免从新渲染。vue

https://www.cnblogs.com/lxlin/p/8472395.htmlnode

 

vue更新数组时触发视图更新的方法      react

vue直接修改数组元素是没法触发视图更新的, 修改array的length也没法触发视图更新, 能够经过 Vue.set   、 Vue.delete 、 Arr.splice  等方法修改webpack

http://www.javashuo.com/article/p-rxnkaqqr-na.htmlios

 

解决非工程化项目初始化页面闪动问题nginx

vue页面在加载的时候闪烁花括号{}},v-cloak指令和css规则如[v-cloak]{display:none}一块儿用时,这个指令能够隐藏未编译的Mustache标签直到实例准备完毕

http://www.javashuo.com/article/p-eqccrhnp-kc.html

 

vue等单页面应用及其优缺点   

优势:Vue 的目标是经过尽量简单的 API 实现响应的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统。MVVM、数据驱动、组件化、轻量、简洁、高效、快速、模块友好。

缺点:不支持低版本的浏览器,最低只支持到IE9;不利于SEO的优化(若是要支持SEO,建议经过服务端来进行渲染组件);第一次加载首页耗时相对长一些;不可使用浏览器的导航按钮须要自行实现前进、后退。

 

vue-cli3 配置全局自定义变量 开发/生产环境

 https://blog.csdn.net/m0_37827076/article/details/102831552

 

vue-cli中自定义指令的使用    

经过  directives 属性设置,定义 inserted 方法,该方法传入一个el 对象

https://www.jianshu.com/p/90297e8c9d06

 

完整的 vue-router 导航解析流程       

路由的解析过程共有12步

  1. 导航被触发。
  2. 在失活的组件里调用离开守卫 beforeRouteLeave
  3. 调用全局的  beforeEach 守卫。
  4. 在重用的组件里调用  beforeRouteUpdate 守卫 (2.2+)。
  5. 在路由配置里调用  beforeEnter
  6. 解析异步路由组件。
  7. 在被激活的组件里调用  beforeRouteEnter
  8. 调用全局的  beforeResolve 守卫 (2.5+)。
  9. 导航被确认。
  10. 调用全局的  afterEach 钩子。
  11. 触发 DOM 更新。
  12. 用建立好的实例调用  beforeRouteEnter 守卫中传给  next 的回调函数。

红色的钩子函数是全局的,蓝色的钩子函数是路由特有的,粉紫色的钩子函数是组件内部的。

最经常使用的是全局的 beforeEach 守卫。

 

vue-router的几种实例方法以及参数传递    

1.命名路由搭配params,刷新页面参数会丢失
2.查询参数搭配query,刷新页面数据不会丢失

https://blog.csdn.net/crazywoniu/article/details/80942642

 

vue-router实现路由懒加载( 动态加载路由 ) 

  1. vue异步组件
  2. es提案的import()
  3. webpack的require,ensure()

 https://blog.csdn.net/mzrxLXR/article/details/81484676

 

vue-router路由的两种模式          

vue-router 默认 hash 模式,还有一种是history模式。history模式不会再URL后面带 #/ 标识

http://www.javashuo.com/article/p-mrycgquz-dy.html

 

使用vuex的核心概念(介绍状态机) 

主要有 state 、 getters、 mutations、actions 四个状态

http://www.javashuo.com/article/p-qtgrustb-na.html

 

pc端页面刷新时实现vuex缓存       

办法一:将vuex中的数据直接保存到浏览器缓存中(sessionStorage、localStorage、cookie)
办法二:在页面刷新的时候再次请求远程数据,使之动态更新vuex数据
办法三:在父页面向后台请求远程数据,而且在页面刷新前将vuex的数据先保存至sessionStorage(以防请求数据量过大页面加载时拿不到返回的数据)
 

axios、fetch与ajax有什么区别?     

Ajax 指的是 XMLHttpRequest(XHR), 是一种建立交互式网页应用的网页开发技术

Axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装

Fetch号称是AJAX的替代品,是在ES6出现的,使用了ES6中的promise对象。fetch不是ajax的进一步封装,而是原生js,没有使用XMLHttpRequest对象
 

axios有什么特色?            

一、Axios 是一个基于 promise 的 HTTP 库,支持promise全部的API
二、它能够拦截请求和响应
三、它能够转换请求数据和响应数据,并对响应回来的内容自动转换成 JSON类型的数据
四、安全性更高,客户端支持防护 XSRF

http://www.bslxx.com/a/vue/mianshiti/2017/1107/1409.html

 

vue如何优化首屏加载速度?       

一、路由异步加载

二、不打包库文件

三、关闭sourcemap

四、开启gizp压缩,前端将文件打包成.gz文件,而后经过nginx的配置,让浏览器直接解析.gz文件。

https://www.jianshu.com/p/df198914331b

 

vue的双向绑定原理及实现          

主要是经过 object.defineProperty() 方法来实现数据劫持的,该方法具两个描述属性get和set ,赋值的时候除发set , 使用的时候触发get  

1.实现一个监听器Observer,用来劫持并监听全部属性,若是有变更的,就通知订阅者。

2.实现一个订阅者Watcher,能够收到属性的变化通知并执行相应的函数,从而更新视图。

3.实现一个解析器Compile,能够扫描和解析每一个节点的相关指令,并根据初始化模板数据以及初始化相应的订阅器。

 http://www.javashuo.com/article/p-ttwlcyrf-be.html

 

MVC、MVP与MVVM的区别        

https://blog.csdn.net/github_37130188/article/details/89762737

 

什么是 Virtual DOM?           

https://blog.csdn.net/weixin_40814356/article/details/84214244

 

全面解析Vue     

https://mp.weixin.qq.com/s/LilyrAKBWWPtuyisE0ffMA

 

关于React

在React中使用react-router-dom路由 

react构建的是单页面应用,使用该插件实现页面间的跳转等功能,相似于vue-router

https://www.jianshu.com/p/8954e9fb0c7e

 

什么是Redux  ?  

Redux 是 JavaScript 状态容器,提供可预测化的数据状态管理(可理解为相似Vuex ),不一样的是,Redux能够搭配任何语言使用,并非专门用于React

store: store对象是保存公共数据的地方,一个应用只能建立一个store

state:state是store映射的数据集合,一个state 只对应一个view (即存放数据变量的地方)

action:改变state 数据的惟一方法,须要声明一个type属性,在调用时使用

store.dispatch():store.dispatch()是 view 发出 action 的惟一方法,也能够理解为发射action通知的惟一方法。里面的type属性值为须要调用的action方法type值

reducer() : 当action方法被触发后,会自动调用,接收两个参数,一个为本来的state, 另外一个为被调用的action,可根据action.type 类型执行对应逻辑

https://www.jianshu.com/p/d99f5deccfaa

 

Redux数据管理原理 

 https://github.com/brickspert/blog/issues/22

 

React-redux的使用  

React-ReduxRedux的官方React绑定库, 是基于 Redux 的基础上,作了一些封装,使其更方便使用在React中

提供 connect() 方法,让你把组件和store链接起来

提供了<Provider/>组件,可在最外层注入整个store, 可以使你的整个app访问到Redux store中的数据

https://www.jianshu.com/p/e8385b129b77

 

关于Dva   

dva 首先是一个基于 redux 和 redux-saga 的数据流方案,而后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,因此也能够理解为一个轻量级的应用框架。

dva = React-Router + Redux + Redux-saga   , 它将三个 React 工具库包装在一块儿,方便开发使用。

https://dvajs.com/

 

关于Mobx

跟React-Redux 同样,是一套为React开发的数据状态管理技术,相似Vuex。 使用后在React中的开发方式相似于Vue, 可以使用this.name 进行访问赋值

observer  声明该组件类可以响应 observable 的变化

inject      在组件类注入store , 可经过props的方式进行访问 store.state 中的值

observable  表示该变量被监听,可经过this.name的方法进行调用赋值

action    声明该方法可改变被 observable 监听的变量

https://www.jianshu.com/p/2dfe11a9dfde      https://cn.mobx.js.org/

 

 

React企业级开发框架 Umi 

一个可插拔的企业级 react 应用框架, 内置 react、react-router 等, 集成从源码到构建产物的每一个生命周期功能,理解为一个集成了开发大型项目所须要各个流程功能的框架。

https://umijs.org/zh/

 

企业级中后台前端 Ant Design Pro

Ant Design Pro 是一个企业级中后台前端/设计解决方案, 构建了一套基于 React 的中后台管理控制台的脚手架,它能够帮助你快速搭建企业级中后台产品原型。

Ant Design Pro = React + Antd + Umi.js

https://pro.ant.design/docs/getting-started-cn

 

react 新功能之 Hooks 

React 具有 无状态组件(Function)和 有状态组件(Class) 两种方式, 无状态组件不存在生命周期,只可做为组件使用。

Hooks 解决了 React 复用一个组件时生命周期复杂的问题,同时也可让 无状态组件存在生命周期

 

 https://www.jianshu.com/p/aafccf6e9ad6   https://www.jianshu.com/p/15fabae835a0

 

关于 react 那些小知识点儿 

 https://www.jianshu.com/p/4d2838ae7b29

 

react 性能优化 

 https://mp.weixin.qq.com/s/LG_1WXWFJQbuJuHiTqXzyw

 

网上都说操做真实 DOM 慢,但测试结果却比 React 更快,为何?

 https://www.zhihu.com/question/31809713/answer/53544875

 

原生客户端技术

对flutter的了解  https://www.jianshu.com/p/b77242539f58

weex和rn原理   https://www.jianshu.com/p/3dde6902351c

pwa的使用    http://www.javashuo.com/article/p-upzhoelo-ku.html

Electron 快速入门   https://www.w3cschool.cn/electronmanual/p9al1qkx.html

NW.js是什么?https://www.php.cn/js-tutorial-419101.html

关于JS

什么是JS的同源策略和跨域问题? https://www.php.cn/js-tutorial-405805.html

Object.defineProperty()方法 https://www.cnblogs.com/zhaowj/p/9576450.html

ES6新语法  https://mp.weixin.qq.com/s/8bov6788ivV0sHzmwrn5lw     http://es6.ruanyifeng.com/#docs/function  https://mp.weixin.qq.com/s/3Ku8w-LLgM0cor2c8ipY9A

JS面试题  https://www.jianshu.com/p/f1f39d5b2a2e

 

 

Webpack

http://www.javashuo.com/article/p-vyuisfjt-dd.html

https://www.jianshu.com/p/06c6614001be?utm_source=oschina-app

https://www.jianshu.com/p/e80d38661358

http://www.javashuo.com/article/p-vyawfuqy-ga.html

 

关于CSS

https://mp.weixin.qq.com/s/e_gXXJTFocNxDaG0U_iB_g

 

 其余

页面性能优化 http://www.javashuo.com/article/p-wwggrbqj-ew.html 

http缓存   https://www.jianshu.com/p/278e93e5b1fb   http://www.javashuo.com/article/p-ywbxfrkg-et.html

对http2的了解  https://www.jianshu.com/p/a742c589f121

前端安全相关   https://blog.csdn.net/yinqian999/article/details/90230298

 

http://www.javashuo.com/article/p-gubxjljx-eb.html

https://github.com/geekcompany/ResumeSample/blob/master/web.md

 

关于小程序

http://www.javashuo.com/article/p-uabwgknu-de.html

相关文章
相关标签/搜索