暂时未有相关云产品技术能力~
暂无个人介绍
组件分为函数组件和类组件,在hooks 出来之前,只有类组件才有状态,现在不管函数组件和类组件,都是含有状态的。这里只讨论类组件的状态
react 组件分为两种组件(由于本人会ts(typescript),所以后面的列子都是基于typescript来进行组件编写)
vscode:免费开源,在开发vue和react 挺好的,如果vue 和 react 结合ts ,那么这个编辑器讲会是一个神器,爽的不得了。而且比较轻量级的。
jsx 也可以使用表达式,像在vue的 {{ }} 中一样,可以写表达式,在jsx 的语法是 { }这个里面写表达式
在typescript中存在两种文件后缀名,一种是 .ts,另一种是.d.ts结尾的文件,我们主要的代码都是写在以.ts文件结尾的文件中。而.d.ts结尾的文件就是声明文件。
我们都知道,ts 具有类型推导,并且可以很好的进行智能的类型推导。但是如果我们想要手动的来进行类型推导 —— 通过已知的类型来推断另一个类型,那么这个需要怎么做呢?
在做项目的时候,展示图片可能会用到nginx 的代理来进行展示,然而有些运维小哥哥喜欢展示技术,在展示图片的时候还需要前提传一个请求头,也就是账号和密码。
每一个属性都要验证,我们就要写一个if 来进行判断,100个属性就要写100遍,然后每一个if中的条件还有可能相同,就会导致我们写重复的代码,这是非常麻烦的。
Error: Cannot find module ‘webpack-cli/bin/config-yargs‘
在TS中,默认情况下,不对索引器(成员表达式)做严格的类型检查使用配置noImplicitAny:true开启对隐式any的检查。
在js中,构造函数也是函数,只是特殊的地方在于,构造函数相对于普通函数来说。使用new 的方式来创建,并且构造函数里面是有this的。这个this 的指向是当前构造函数的对象。而普通的函数的this的指向是指向全局window的。
super当作属性使用的时候, super 指向的是父类的原型,因此super无法拿到父类的实例属性,只能拿到父类的public和protected的方法,super 如果当方法使用的话,只能在字类的构造函数中并且是第一行使用,需要使用super()来实例化父类里面的属性,确保字类可以获取父类的成员。
ts(typescript) 字类 继承父类 在字类构造函数为啥需要先super()调用 分析
方式一: (使用多个分支) 网上的同学大部分都说源代码是master分支,而部署的是另一个分支(就是将vue打包的结果放另一个分支),好处是,每个分支做每个分支的事情,这样分开也挺好的。
搭建react项目 搭建ts react项目 使用vite搭建react项目
作用是:这样 vite 在执行 runOptimize 的时候中会使用 rollup 对 包含的 包重新编译,将编译成符合 esm 模块规范的新的包放入 node_modules 下的.vite_opt_cache中,然后配合 resolver 对 包含的包 的导入进行处理:使用编译后的包内容代替原来 qrcanvas 的包的内容,这样就解决了 vite 中不能使用 其他js包 的问题,这部分代码在 depOptimizer.ts 里。
我后台使用的是 node + express ,所以首先定位问题所在,图片是属于静态资源的,然后我们后台解析静态资源使用 express 里面的 static 中间件。所以打开对应的文档,查看对应的配置。
泛型相当于是一个类型变量,在定义时,无法预先知道具体的类型,可以用该变量来代替,只有到调用时,才能确定它的类型。很多时候,TS会智能的根据传递的参数,推导出泛型的具体类型
ts 手动实现 ts 中的map
当大家看到typescript(ts) 中的类(class)时候,可能好多人都会想起面向对象,对的,面向对象是许多后台的一种编程思想,比如: 本人曾经接触的java, 里面就是用的是面向对象的思想。但是本文不讨论面向对象,值讨论ts 中 class 新增的语法,和一些使用方法以及注意事项。
接口可以使用 extends 关键字来进行扩展(这个继承是包含关系,如果父级有了,子集不可以声明重复的,会报错的),或者是 implements来进行实现某个接口
ts 类型系统在检查普通字面量是严格检查的,是完全匹配的,如果有一点不一样,ts 都会提出错误,原因嘛,个人觉得你既然使用了类型检查,对于普通的原生数据类型肯定是严格检查,有一点都报错
ts 中可以通过使用 module 设置编译结果中使用的模块化标准,这个可以依照环境的不同来设置,如浏览器设置 es6, node 设置 commonjs等,这个是灵活处理的。
目前el-form的model主要用表单验证的,也就是配合el-form的rules和el-form-item的prop来使用的。不信的话,你可以增加一个rules和prop(为了调用验证方法,也el-form也加一个ref属性,相当于id或者class选择器的意思),但是不写model,然后验证的话,会提示缺少model,导致无法验证成功。
vue3 使用第三方插件问题 bundler to alias “vue“ to “vue/dist/vue.esm-bundler.js
位运算是在数字底层(即表示数字的 32 个数位)进行运算的。由于位运算是低级的运算操作,所以速度往往也是最快的(相对其它运算如加减乘除来说),并且借助位运算有时我们还能实现更简单的程序逻辑,缺点是很不直观,许多场合不能够使用。
接口 interface 含义:是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员
object: 对象, 对象的检查有点弱,里面如果要严格检查里面的每一个属性,需要用到后面的接口或者类,或者是使用字面量的方式。
node环境搭建typescript 环境,懒人版
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
如果需要使用状态管理工具,那个在src下面创建一个store文件夹,然后里面写vuex的配置,我这里使用的是模块,模块里面的内容和vuex3是一样的,调用方式也是一样的
vue vue3 实现滚动进度条,斑马纹进度条
b.资源的加载顺序。资源的加载顺序决定了页面的逻辑能否正常的执行,当页面加载顺序出现问题导致页面无法正常执行,最终导致白页现象。或者网速较慢,下载相关资源很慢,这时就会出现暂时的空白页的现象。
概念:跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
HTTP/1.1为了尽可能的提高HTTP性能,1.1规定所有连接必须是持久的,已经不需要在头部加上Connection:Keep-alive了。
node判断文件夹是否存在,不存在直接创建
[error] OpenEvent(“Global\ngx_reload_11812“) failed (2: The system cannot find the file specified
项目重置样式 reset.scss
node生成带logo的二维码的中间件
node express 给前端返回图片流
node实现代理的中间件
如果从自己的服务器中访问使用外链,浏览器会告诉外链方中,请求头会加一个refere 的请求头,用于标记该网页的来源服务器是哪个地址或者域名。如果是自己的服务访问自己的资源,浏览器是不会携带该请求头的或者携带的请求头和host是一样的,所以我们就可以使用referer这个浏览器所携带的特性。
node 实现文件下载,web打开迅雷下载文件
node 实现文件上传中间件
vite 构建vue3 项目配置文件的详情配置
python 手动安装包的两种方法
一般来说,中心服务器至少承担着认证和授权的功能,例如登录:各种设备发送消息到中心服务器,然后中心服务器响应一个身份令牌
当浏览器端运行了一段ajax代码(无论是使用XMLHttpRequest还是fetch api),浏览器会首先判断它属于哪一种请求模式
node 实现aes-128-cbc对称加密
由于http协议的无状态,服务器忘记了之前的所有请求,它无法确定这一次请求的客户端,就是之前登录成功的那个客户端。