axios怎么获取后端返回的状态码
通过返回的promise对象,返回的response中的response.status
keep-alive的属性
include 用于匹配需要被缓存的组件
exclude 与include相反
max 用于指定可以缓存的组件的最大数量
keep-alive的生命周期钩子
on Activated
当组件被激活时调用
在组件第一次渲染时也会被调用,之后每次从缓存中重新插入到 DOM 中时也会被调用
on deactivated
当组件被停用时调用。
组件被移除出 DOM 时,会触发这个钩子。
在这个钩子中,你可以做一些清理工作,比如清除定时器、取消网络请求等
vite和webpack的区别
1.Vite的构建速度比Webpack快,Vite使用原生ES模块进行开发,无需像Webpack那样编译时将所有代码转换成JS代码打包,因此,Vite拥有更快的冷启动速度
2.Vite支持热更新,自动刷新等功能,提高开发效率
组件间通信
支持异步的方法
1.Promise对象
2.async/await
3.回调函数
4.Generator 函数
5.setTimeout和setInterval
6.Fetch API
7.XMLHttpRequest
虚拟dom 优缺点
优点:
1.提高性能:虚拟DOM的操作是在内存中进行的,因此比直接操作真实DOM要快得多。当数据发生变化时,只需要重新渲染虚拟DOM,然后将其与之前的虚拟DOM进行比较,找出差异并更新真实DOM,从而减少了不必要的DOM操作,提高了性能。
2.无需手动操作DOM:使用虚拟DOM,开发者不再需要手动去操作DOM,只需要写好View-Model的代码逻辑,框架会根据虚拟DOM和数据双向绑定,以可预期的方式更新视图,极大提高了开发效率。
缺点:
1.额外的内存开销:由于需要创建虚拟DOM对象,因此会占用一定的内存空间。在大型应用中,这可能会导致内存消耗的增加。
2.初次渲染可能较慢:由于需要进行虚拟DOM的创建和比较等操作,因此在初次渲染时可能会比直接操作真实DOM慢一些。
3.可能增加复杂性:在某些情况下,虚拟DOM的抽象层可能会增加应用的复杂性,特别是当开发者需要深入了解其工作原理并进行性能优化时。
HTTP状态码
200 OK:请求已成功,请求所希望的响应头或数据体将随此响应返回
301 Moved Permanently:请求的网页已永久移动到新位置
302 Found(或307 Temporary Redirect):请求的资源暂时从不同的URI可用
304 Not Modified:如果客户端有缓存的文档,并且在Request-Line字段定义的缓存控制值允许,那么就直接使用缓存中的副本,而不从服务器端重新取
400 Bad Request:服务器无法理解请求的语法
401 Unauthorized:请求需要身份验证
403 Forbidden:服务器拒绝执行请求
404 Not Found:服务器找不到请求的资源
500 Internal Server Error:服务器遇到了一个未曾预料的情况,导致了它无法完成对请求的处理
502 Bad Gateway:作为网关或代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应
503 Service Unavailable:由于临时的服务器维护或者过载,服务器当前无法处理请求
DNS域名解析
计算机网络 有哪些协议
TCP/IP协议:包括传输控制协议(TCP)和互联网协议(IP)
HTTP协议:超文本传输协议是用于在网络中传输超文本的应用层协议
DNS协议:域名系统是将域名解析为IP地址的协议
SSL/TLS协议:用于在网络上进行安全的通信,提供数据加密和认证功能
ES和CJS区别
1.语法差异
**ES **使用import 和 export 关键字进行模块的导入和导出
CJS 使用 require() 和 module.exports 进行模块的导入和导出
2.加载方式
-
•
CJS 采用同步加载模块的方式,即在代码执行过程中按需加载模块。这意味着在模块被完全加载之前,代码会阻塞等待
-
•
ESM 则采用异步加载模块的方式,即在模块加载过程中不会阻塞代码执行。这使得ESM在加载大型模块或并行加载多个模块时更具优势。
3.静态编译
-
•
ESM 模块在静态阶段就被编译并分析模块的依赖关系。这使得编译器能够静态地确定模块之间的依赖关系,从而进行优化,如Tree Shaking(删除未使用的代码)
-
•
CJS 模块则在运行时解析和执行,并且可以有条件地导入和导出模块