1 说一下状态码,以及其分别代表什么?
- 100 服务器接受并准备切换协议
- 200 请求成功
- 301 永久重定向 302 临时重定向 304 使用缓存
- 400 请求格式错误 401 用户验证失败 404 资源不存在
- 500 服务器错误 502 请求失败 503 请求超时.
2 vue2 和vue3 的区别?
- 写法不同 vue2optionApi,vue3使用分布式api
- 原理不同,vue3采用的proxy绑定,vue2使用Object.definePrototype数据劫持
- 生命周期 vue3中setup包含befrorecreated,created;
- vue3支持异步组件'Suspense'
- vue3支持多根节
- vue3diff算法优化,采用了动态规划思想,且只比较动态节点。
3 说一下vue的生命周期,vue-router中keep-alive使用的生命周期是什么?
6个常规生命周期,keep-alive中的生命周期是actived,deactived
4 说一下网络缓存? expires cache-control last modified if modified-since 5 聊一下vite 和 webpack的区别?
- webpack bundler机制,每一次编译的时候都会将代码转为浏览器识别的文件输出,对源文件进行一些列捆绑操作,而vite采用ubBundler机制,完全通过浏览器对
ESM规范的支持来解析。 - vite没有loader概念,全部由plugins处理
- webpack 配置更加复杂,例如配置HMR模式,而vite更加简单,自带hmr配置,vite配置简单,天然包含vue,ts,es6等,但是webpack生态丰富,拥有大量插件,而vite插件减少,适合轻量化快速开发。
- 由于没有vite捆绑操作,导致请求资源会多于webpack,vite则是通过按需求引入方式,具体是再node_modules中创建映射map,modules中的依赖引入全部由map中引入.