自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 vite构建库如何生成类型声明文件

如果我们构建的前端库没有类型声明文件,当被其他使用typescript的项目引用时,类型提示会很不友好,所以打包库文件时一般需生成对应的类型声明文件。默认生成的类型声明文件和源文件的结构一致,如果想合并成一个,需要添加配置项。vite可以通过vite-plugin-dts插件自动生成类型声明文件。默认情况,生成的类型文件会跟随源文件结构。提供了汇总所有类型到一个文件的能力,只需安装。

2025-06-23 16:22:03 449

原创 vue/cli迁移至rsbuild——vue2项目

2、可以在sass插件中加入替换语法,编译时自动替换。A:rsbuild的plugin-sass不支持/deep/语法,需替换为::v-deep。rebuild内置SWC支持typescript,不需要额外配置相关babel插件。1、在项目业务代码种全局搜索,然后全量替换。Q:项目使用了vue-property-decorator时,装饰器语法不生效。Q:当项目中sass使用了/deep/ 语法时,编译会报错。Q:业务代码中使用了process相关的属性报错。Q:不使用babel时,组件库的按需加载问题。

2025-05-06 15:22:40 1194

原创 各浏览器的js引擎和css渲染引擎

Opera。

2025-02-13 09:46:33 456

原创 js中的位运算及原码、反码和补码

js中整数都是以二进制补码的形式存储,至于为什么是补码形式,后面会有解释。假设以8位二进制表示一个整数(一般是32位和64位,这里为了方便演示使用8位表示)。最高位是符号位,0表示正数,1表示负数。

2025-02-11 17:15:50 1555

原创 关于js对象的引用计数,及为什么循环引用计数无法为0

这段代码执行到return之前的栈内存和堆内存如下图所示:1、为什么数字,字符串等基础类型没有引用计数从上面的示意图中可以看出,数字、字符串等值类型(基本类型)的变量是直接在栈内存中保存变量值的,不存在引用关系。2、对象的引用计数具体是针对什么进行引用计数对于引用类型的变量(如数组、对象、函数等)在栈内存中保存的是一个引用地址,这个地址指向(图中箭头所示)的对象才是变量真正的值,而被指向的对象是保存在堆内存之中。图中的每一个箭头代表一次引用。所以引用计数是针对堆内存中的对象来计算。

2025-02-10 14:28:58 369

原创 关于vue的data是一个函数

那么当component1和component2这两个实例化的组件挂载在同一个页面中时,由于两个组件的data指向同一个引用地址,所以其中一个改变data的属性值,会同步到另一个组件的data,同时也会被另一个的observe捕捉到,引起错误的数据改变或页面显示内容的改变。2、当data是函数时,每次组件实例化都是一个新的函数返回值,所以每个实例的this.data都是一个全新的对象,不会互相影响。当组件在应用中只会存在一个实例时,data可以直接是对象形式。

2025-01-23 15:44:56 168

原创 模块联邦(module federation)应用实践

webpack5 模块联邦概念及使用实践

2025-01-23 11:20:32 1212

原创 多行文本溢出处理 - 自定义溢出显示内容

【代码】多行文本溢出处理。

2024-07-15 17:38:25 338

原创 前端兼容性处理

proxy有一个不完整的polyfill:proxy-polyfill,只实现了部分proxy的方法,而且初始化时对象的属性需要是确定的,类似于Object.defineProperty。vue3由于使用了proxy api,而proxy并没有完全匹配的polyfill,所以当浏览器版本不支持proxy时,无法做到兼容。平时我们通过vue-cli创建的项目都默认包含了babel-loader的配置,所以不需要额外处理。是一个 Babel 的插件,它会自动为你的代码添加所需的。

2024-04-12 10:52:06 2053

原创 发版后前端页面更新问题

2、在打开的页面跳转之前未打开过的页面(之前打开过的资源会缓存,如果是spa则js等已在内存中)会因为服务器资源不存在而报错。3、加入版本校验功能(解决第二类问题),具体操作可以前后端统一维护一个版本号,每次发版都新增,接口通过判断版本号是否一致来返回相应信息,前端获取到不一致标识之后主动刷新页面。2、对于spa页面,则可以在index.html加入不缓存的meta标签,确保每次打开都是最新的html文件(解决第一类问题)1、服务器将强缓存改为协商缓存或者不缓存(解决第一类问题)

2023-07-13 19:45:51 1430 1

原创 vscode打开的文件名标签栏多行显示

设置vscode标签栏多行显示

2022-12-02 19:07:33 1136

原创 vite+vue2.7按需加载组件库组件

vite+vue项目按需加载组件库的样式文件

2022-08-01 22:03:32 3142 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除