置顶文章
精选分类
前端
技术设计照片
高质量精选心得
思维kotlin
技术设计文章列表
vue demi支持sfc方式的vue2vue3通用库开发详解
# 背景
随着 vue3 的逐渐成熟,公司项目逐渐会存在 vue2 和 vue3 项目共存的情况,兼容 vue2 和 vue3 的公共组件开发能让老项目较好地过渡到 vue3。研究了 vue-demi 的源码和 demo,发现 vue-demi 只是简单地根据 vue 版本生成对应的类似中间件的东西,而且 render 函数也只是做了简单的中转处理;
国外大佬写了一个 vue-demi 解决了 vue2/vue3 的 render 函数 attrs 属性的问题,这里我就直接贴 issue 链接,不做过多说明了: github.com/vueuse/vue-…
虽然 vue-demi 没有提供 sfc 的兼容方案,但是其实仔细想一下,sfc 的解析处理也不应该是由 vue-demi 来解决,应该是交给打包工具将 template 转成 render,而 vue-demi 只需要关注 composition-api 就行;于是往着这个思路,花了几天时间研究一下 vue2.6、vue2.7 和 vue3 的 sfc-compiler,得到以下开发方案。
font-face详细讲解
# 基础介绍
# font-face 是什么
font-face 是 css3 中允许使用自定义字体的一个模块,他主要是把自己定义的 Web 字体嵌入到你的网页中。
这是一个叫做 @font-face 的 CSS @规则 , 它允许网页开发者为其网页指定在线字体。通过这种作者自备字体的方式,@font-face 可以消除对用户电脑客户端的字体的依赖
。
初识three.js,搭建three.js+vue.js项目
# WebGL
简介:WebGL(全写 Web Graphics Library)是一种 3D 绘图协议,这种绘图技术标准允许把 JavaScript 和 OpenGL ES 2.0(OpenGL for Embedded Systems,OpenGL 嵌入式版本,针对手机、游戏机等设备相对较轻量级的版本)结合在一起,通过增加 OpenGL ES 2.0 的一个 JavaScript 绑定,WebGL 可以为 HTML5 Canvas 提供硬件 3D 加速渲染,这样 Web 开发人员就可以借助系统显卡来在浏览器里更流畅地展示 3D 场景和模型了,还能创建复杂的导航和数据视觉化。
# Three.js
简介:Three.js 是 WebGL 的 JavaScript 3D 库,其对 WebGL 提供的接口进行了非常好的封装,简化了很多细节,大大降低了学习成本,成为前端开发者完成 3D 绘图的得力工具。
three.js 官方文档 :threejs.org/
three.js 中文文档 : techbrood.com/threejs/doc…
Three.js 整体认知(附:Three.js 功能概览)
npm install xxxx --legacy-peer-deps
在日常使用命令 npm install / npm install XX
下载依赖的操作中,我经常会遇到无法解析依赖树的问题(依赖冲突):
但是每当遇到这种情况的时候,我用命令 npm install --legacy-peer-deps
就可以顺利进行下载操作:
这是为什么呢?带着好奇心,我去研究学习了一番 npm install xxxx --legacy-peer-deps
命令是什么?为什么可以解决下载时候产生的依赖冲突呢?(注:我本地当前正在使用的 npm 版本是 8.6.0)
ts装饰器(注解)
官方文档:https://www.tslang.cn/docs/handbook/decorators.html
这个东西在 java
里叫注解,不过在 ts
中,一个装饰器对应一个方法
解决 element ui 的树形图 点击节点设置节点高亮的问题,需要设置为其他颜色
element-ui 弹窗的this.$confirm框报错Uncaught (in promise) cancel
element-ui :按钮点击操作阻止@row-click
element ui的el-tree文字显示不全的解决办法
element ui 的 el-tree 文字显示不全有三种解决办法:
- 方法一: 最简单的设置横向滚动条
- 方法二: 添加拖拽条改变外层容器宽度
- 方法三: 通过... 表示 鼠标移上去显示全称
Vue 父子组件之间通信的十种方式
这篇文章介绍了 Vue.js 父子组件之间通信的十种方式,不管是初学者还是已经在用 Vue 的开发者都会有所收获。无可否认,现在无论大厂还是小厂都已经用上了 Vue.js 框架,简单易上手不说,教程详尽,社区活跃,第三方套件还多。真的是前端开发人员必备技能。而且在面试当中也往往会问到关于 Vue 方面的各种问题,其中大部分面试官会问到如上这种问题。
# 概述
几种通信方式无外乎以下几种:
- Prop(常用)
- $emit (组件封装用的较多)
- .sync 语法糖 (较少)
- $attrs 和 $listeners (组件封装用的较多)
- provide 和 inject (高阶组件 / 组件库用的较多)
- 其他方式通信