什么是微前端?

Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently. -- Micro Frontends

微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。

简单说就是:将前端应用程序分解成多个小块,每个小块被称为微前端。每个微前端都是一个独立的部分,可以由不同的团队开发和维护。这些微前端可以独立部署,甚至可以使用不同的技术栈和框架开发。最终组合在一起呈现出完整的前端应用程序

>
qiankun

之前的一个项目需求:“用户从列表中勾选一些数据,这些数据包含了文件信息。需要下载所勾选数据中的所有文件”

直接通过传统方式 location.href 或者 a标签 下载,会发现并不能并行下载,最多只能同时下载一个文件…

然后尝试通过基于 iframe 并行下载,但会在浏览器上产生很多的下载任务,生成一串的文件在浏览器底部显示,看着都很不科学…

为什么是基于 iframe 而不是 a 链接下载?

受浏览器安全策略影响,浏览器会阻止超过一个下载任务的请求,如果存在多个,会取消掉前面的下载任务。

除了使用 iframe 以外,还可以通过 setTimeout 来规避,(但需要知道上一个任务的下载是否完成,且理论上也并不是并行下载)

最后想了下还是基于 node 在中间层封装一个 zip 的下载接口,将这一批文件统一打包处理再供给前端下载。

>
archiverzipStream

偶然的一次机会,发现浏览器地址栏里可以执行 javascript 代码,诶…直接发现新大陆了这是 🤩🤩🤩

基于这个特性,可以实现一些有趣的功能脚本,比如:表单自动填写、粘贴复制、快速测试…

除了通过书签的方式执行脚本外,你还可以将脚本内容封装到油猴里,作为插件在指定域名下自动启用它俩各有各的优缺点和使用场景,这里不对油猴做详细介绍。

>
书签栏浏览器

Nginx 通常用于托管 Web 应用程序、静态网站、代理请求到后端应用程序服务器(如 Node.jsRubyPython 等),以及为高流量和高可用性场景提供解决方案。

有些场景下,需要我们通过 nginx 搭建一个可访问的静态资源服务器,而无需繁琐的环境配置和程序运行。例如:托管不涉及前后端交互的静态资源网站…

>
静态网站服务器nginx