Tag Archives: 蓝狮前端设计

蓝狮官网vue3解构赋值失去响应式引发的思考!

前言vue3发布以来经历两年风头正盛,现在大有和react 平分天下的势头,我们知道他是基于proxy 实现响应式的能力, 解决了vue2所遗留下来的一些问题,蓝狮注册登陆同时也正由于proxy的特性,也提高了运行时的性能 凡事有利有弊, proxy虽然无敌,但是他也有本身的局限,从而产生一些我认为的弊端(其实就是不符合js语言的自然书写方式,有的人觉得就是个特殊写法,他不属于弊端) 1、 原始值的响应式系统的实现 导致必须将他包装为一个对象, 通过 .value 的方式访问2、 ES6 解构,不能随意使用。会破坏他的响应式特性好奇 ...

蓝狮注册登陆80 行代码实现简易 RxJS

RxJS 是一个响应式的库,它接收从事件源发出的一个个事件,经过处理管道的层层处理之后,传入最终的接收者,这个处理管道是由操作符组成的,开发者只需要选择和组合操作符就能完成各种异步逻辑,极大简化了异步编程。除此以外,RxJS 的设计还遵循了函数式、流的理念。 直接讲概念比较难理解,不如我们实现一个简易的 RxJS 再来看这些。 RxJS 的使用RxJS 会对事件源做一层封装,叫做 Observable,蓝狮注册开户由它发出一个个事件。 比如这样: const source = new Observable((observer) => {let i = 0;setInterva ...

蓝狮注册登陆前端工程化配置指南

本文讲解如何构建一个工程化的前端库,并结合 Github Actions,自动发布到 Github 和 npm 的整个详细流程。示例我们经常看到像 vue、react 这些流行的开源项目有很多配置文件,他们是干什么用的?他们的 Commit、Release 记录都那么规范,是否基于某种约定?废话少说,先上图! 上图标红就是相关的工程化配置,有 Linter、Tests,Github Actions 等,蓝狮注册开户覆盖开发、测试、发布的整个流程。 相关配置清单 EslintPrettierCommitlintHuskyJestGitHub ActionsSemantic Release下面我们从创建一个 TypeScript 项目开 ...

蓝狮注册登陆简单带大家实践一下pnpm,也就几分钟的事情~

Monorepo说pnpm之前先说说Monorepo,它是一个思想,我举个例子,蓝狮注册开户我现在需要做一个大项目——电商平台,那么我需要做以下几个子项目: 电商Web端电商H5端电商的后台管理系统其实这三个子项目,都会用到网络请求、工具函数、公用组件,也就是: axios -> requestlodash -> utilsantd -> components。。。。。按照以前的规范,一个项目肯定要安装一次axios,然后封装一遍request,但是其实这三个小项目都可以共用一个request,这样做的好处是: 1、多个项目统一规范,因为用到是同一个封装2、不需要每 ...

蓝狮注册登陆跟我一起了解2022 年值得推荐的 Vue 库

大家好,我是 CUGGZ。 今天来推荐几个热门又实用的 vue.js 库! 状态管理(1)PiniaPinia 是最新一代的 Vue 轻量级状态管理库。它适用于 Vue 2.x 和 Vue 3.x。蓝狮注册开户它是 Vue 官方成员在2019年11月重新设计的一个状态存储库,它允许你跨组件/页面共享状态,并且是响应式的,类似于 Vuex。 Github:https://github.com/vuejs/pinia (2)VuexVuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 Github:ht ...

蓝狮注册登陆Get 一种可以用来装逼的 JavaScript 编码风格

其实上面代码的核心就是用到了下面三个类型转换: ! 后面跟的字符会被转换成布尔值 后面跟的字符会被转换成数值+[] 前面的字符会被转换成字符串通过上面的方法,我们可以尝试做一些简单的转换: false => ![] true => !![] undefined => [][[]] NaN => +[![]]数字怎么用这几个符号来表示数字呢?最简单的 0 : +[] === 0这个很好理解,根据上面表格中的总结我们知道,蓝狮注册开户空数组转换成数字是 0,我们只需要在 [] 前面加上 + 让它转换成数字就可以得到 0 。 那么 1 可以怎么得到呢? ...

蓝狮注册登陆我已经说了5种css居中实现的方式了,面试官竟然说还不够?

开篇之前,先问一下大家都知道几种居中的实现方式? 面试时答出来两三个就不错了,就怕面试官还让你继续说。今天就来总结一下这些居中的方式 使用flex布局设置居中。使用flex 时也能通过给子项设置margin: auto实现居中。使用绝对定位的方式实现水平垂直居中。使用grid设置居中。使用grid时还能通过给子项设置margin: auto实现居中。使用tabel-cell实现垂直居中。还有一种不常用的方法实现垂直居中。最后还有一种奇葩的方法。容器设置position: relative。孩子设置 top、left、bottom、right都设置为01.flex布局设置居中常 ...

蓝狮注册登陆Object.assign vs Object Spread

引言在开发过程中,我们经常能看到 Object.assign 或 Object Spread,这两个方法都能帮助你得到想要的对象。有的人喜欢用Object.assign,有些人喜欢用 Object Spread,蓝狮注册登陆那么用哪一种比较好呢?这篇文章就是来探讨这个问题。 Object.assign 与 Object Spread 共同点功能都可以实现 object 自有属性(包括 Symbol 属性)的 copy。 示例创建 MyClassclass BaseClass {foo() { return 1; }} class MyClass extends BaseClass {bar() { return 2; }} const obj = new MyClass();obj.baz = function() { return ...

蓝狮注册登陆互联网公司常用的DevOps 工具,你都认识吗?

DevOps 工具主要 用于自动化软件开发、部署和测试。 这里,我们将讨论一下,程序员经常可能会接触到的 用于自动化软件开发过程的 Devops工具 。 AnsibleAnsible 是一个 DevOps 工具,可以帮助您自动执行任务、蓝狮注册开户部署应用程序和管理基础设施。它使用 SSH 与基础架构中的节点进行通信,当你拥有一台服务器或数百台服务器时都可以使用。Ansible 是无代理的,可以轻松与任何支持 SSH 的服务器操作系统一起使用。 Ansible 可用于同时在多个服务器上执行自动化任务。例如,如果您需要为您的 Web 应用程序设置负载均衡 ...

蓝狮注册开户TypeScript类、继承、多态

前言对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来的。 从 ECMAScript 2015,也就是 ES6 开始,蓝狮注册 JavaScript 程序员将能够使用基于类的面向对象的方式。 使用 TypeScript,我们允许开发者现在就使用这些特性,并且编译后的 JavaScript 可以在所有主流浏览器和平台上运行,而不需要等到下个 JavaScript 版本。 类// 类(() => {class Person {// 声明属性name: string ...