摘要:
1. SSR 服务端渲染 SSR(Server-Side Rendering,服务器端渲染)是一种通过服务器生成完整HTML页面并将其返回给客户端的渲染方式。这意味着在用户请求页面时,服务器会提前渲染页面内容,并将渲染好的HTML发送到浏览器,浏览器直接显示页面,而不是先加载一个空的HTML框架,之 阅读全文
摘要:
1. setter & getter // ES6 Class class PersonCl { constructor(fullName, birthYear) { this.fullName = fullName; this.birthYear = birthYear; } // 类里面的方法可 阅读全文
摘要:
1. HTTP 和 HTTPS HTTP是明文传输,敏感信息容易被中间劫持。 HTTPS = HTTP + 加密,即使传输的数据被劫持了也无法解密。 2. 加密方式:对称加密,非对称加密 对称加密 用同一个key加密解密。 非对称加密 一对key(公钥私钥),公钥加密,私钥解密(or反过来)。 具体 阅读全文
摘要:
获取过的资源没必要再去请求获取一次,就是缓存。 为什么需要缓存? 网络请求相比于CPU的加载和页面渲染(毫秒级),是很慢的。我们需要通过缓存把网络请求数量和体积减少,而且网络请求不稳定(信号不好情况下),加剧了页面加载的不稳定性。我们需要优化网络请求让页面加载更快。 哪些资源可以被缓存? 静态资源如 阅读全文
摘要:
常见题目: 1. HTTP常见的状态码 1xx 服务器收到请求,但还没返回数据。(不常用) 2xx 请求成功,如200 3xx 重定向,如302 4xx 客户端错误,如404 5xx 服务端错误,如500 - 常见状态码: 200 成功 301 永久重定向(配合location,浏览器自动处理),l 阅读全文
摘要:
🐾面试真题演练! 前端为什么要进行打包和构建? 代码相关:体积更小(Tree-Shaking、压缩、合并),加载更快。 开发相关:高级语言编译成更低级简单的语言或语法(TS、ES6+、模块化、scss) 兼容性和错误检查(Polyfill、postcss、eslint) 研发流程方面:保证统一高效 阅读全文
摘要:
是前端开发环境必备工具。用于把ES6语法转换为ES5、ES4,兼容不同浏览器。 - 环境搭建 & 基本配置 安装一些插件、配置.babelrc。通过plugins里面的东西转换语法。preset-env是一堆plugin的集合。 npx babel src/index.js - babel-poly 阅读全文
摘要:
1. webpack优化打包构建速度-开发体验和效率 优化babel-loader 缓存:cacheDirectory,只要加了这个,es6代码中没有改动的就不会重新编译,集中缓存,加快速度。 IgnorePlugin 避免引入无用模块 比如有个Moment.js库支持很多语言 避免引入过多的语言, 阅读全文
摘要:
module:模块,各个源码文件。 比如说src下面的index.js就是模块,而在其中引用的一切都是模块。上面lodash啦,别的文件啦(math.js),css文件啦,图片啦。可以引用的都是模块。 chunk: 多模块合并成的,比如entry里面可以定义;import(),splitChunk 阅读全文
摘要:
面试真题: 前端代码为什么要进行构建和打包?(答全面) module chunk bundle分别是什么意思?有何区别? loader和plugin的区别? webpack如何实现懒加载? babel-runtime和 babel-polyfill? webpack常见的性能优化 1. webpac 阅读全文