- 博客(31)
- 收藏
- 关注
原创 前端 - vue - - vue中如何获取环境变量以及import.meta.env和process.env的区别
import.meta的运行环境是浏览器 属于浏览器特性 而process的运行环境是服务端(node、ssr) 所以我们在VUE3项目中使用process获取环境变量是不可以的
2025-04-08 09:30:00
626
原创 前端 - vue3 - - toRef与toRefs的区别
toRefs作用对象单个属性包含所有属性的对象返回值单个ref对象所有属性为ref对象的普通对象应用场景只需要获取单个响应性对象需要将普通对象中的所有属性以响应性对象形式解构出来目标对象不存在时返回值为undefined的ref对象报错。
2025-03-31 09:17:38
276
原创 前端 - vue3 - - getCurrentInstance详解以及为什么不推荐使用
鱿鱼原话:直接访问实例会绕过vue3的响应式系统 不符合vue3的中心思想(解耦和复用性),getCurrentInstance已经在最新的文档说明中移除 是因为它作为一个内部api 不应该被公开使用 只会用于vue3生态中某些测试库
2025-03-29 09:30:00
763
原创 前端 - css - - calc 计算属性函数
用于在css中动态计算数值 width: calc(计算式) 计算式中的单位支持%、px、vw、vh、rem、em等支持运算符+、-、*、/ 遵循数据数学运算中的计算优先级clac可嵌套使用实现更复杂的运算
2025-03-28 09:34:35
403
原创 前端 - ts - - declare声明类型
在使用typeScript的项目中 需要声明属性类型 单独的局部属性 可以直接在当前文件中声明 全局属性需要在项目根目录下新建.d.ts文件 vite会自动识别.d.ts类型文件在该文件中使用declare声明类型有三种写法1、在某种类型的文件中声明2、声明window上的属性类型3、全局声明
2025-03-28 09:30:00
696
原创 前端 - vue3 - - 挂载全局方法
1、provide、inject作为全局通信桥梁 也可以全局传输方法 provide接收两个参数 key和value inject接收一个参数 keyprovide 和 inject 本身不具有响应式 但可以配合响应式api实现响应式
2025-03-27 09:00:00
626
原创 前端 - css - scss的for循环
合理的运用scss的for循环可以极大程度上减少代码冗余 比如宽高、内外边距一般会在src下新建style文件夹 里面再建index.scss 在里面写scss的样式配置。
2025-03-19 09:43:38
532
原创 前端 - uniapp - - 分包
我之前遇到过node_modules/uni.modules里的组件库也被打进主包了 导致主包的体积干到了几十M 最后发现是我在index.scss中定义了一个font-family字体 会将ttf格式的字体资源文件编译成base64打包进所有的css文件中 包括依赖中的组件库 最后只能放弃这个字体了。除了分包 还要注意小程序的静态资源(static中的图片之类的)也会占用主包空间 静态资源要放在服务端。“root”是从根目录下的路径开始找 每一个root就是一个分包 注意分包的体积也不要大于2M。
2025-03-12 08:48:42
438
原创 后端 - java - - 数据类型
范围-9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1)用于整数非常大的项目中 定义时默认加上L更加规范:long a = 100000L。int:32位 有符号 二进制补码表示的整数 默认为0 范围-2,147,483,648(-2^31)~2,147,483,647(2^31 – 1) 包装类:Integer。byte:8位 有符号 二进制补码表示的整数 默认为0 范围 -128(-2^7)~127(2^7-1)
2025-03-12 08:48:16
730
原创 后端 - java - - 重写与重载的区别
java中重写和重载是两个完全不同的概念 只不过他俩的名字相似 所以可能会分不清楚。重写的访问修饰符不能低于父类的级别(例如,如果父类方法是。)子类的异常声明必须与父类的异常声明相同或是其子类。同一个方法重复多次以实现不同类型传参。方法名、功能相同,参数类型、个数不同。子类重新写父类的方法,实现不同功能。重载的访问修饰符和异常声明可以不同。方法名、参数相同,功能不同。,子类方法至少也应该是。
2025-03-11 09:33:14
301
原创 前端 - uniapp - - 滚动容器scroll-view实现横向滚动
的样式,但是我在使用时发现按照官方文档说明给了配置后 依然无法实现滚动效果 在一行中放不开的dom会被挤到下一行 所以我们要再给一个强制不换行的样式。scrollview相当于给div加上了overflow-x: auto;属性 想要实现横线滚动 官方文档有说明需要配置。微信开放平台 scrol-view 的官方文档说明。为true 并其需要给高度和。
2025-03-11 09:01:23
644
原创 前端 - npm - - npm安装依赖时 -d -s -g的区别
1、-d(-save-dev)将依赖安装至开发环境中 在package.json的devDependencies中 如eslint、less这些只在开发环境中使用的依赖2、-s(-save)将依赖安装至生产环境中 在dependencies中,如elementui3、-g(-global)全局安装 将依赖安装至windows目录下
2025-03-07 17:20:00
169
原创 前端 - vue - - import引入报错 require引入不报错 package.json中type的用法 延迟导入资源
延迟导入资源 昨天面试被问到了 没答出来 今天特意来学习.."type":"module" // 项目中的 .js 文件将默认被视为 ESMAScript 模块 (ESM/ES6)。//未定义type 项目中的 .js 文件将默认被视为 CommonJS 模块 (CJS)。
2025-03-07 17:06:56
426
原创 前端 - js - - Promise
当两个操作(其中第一个或两个都是异步操作)需要同步执行时,第二步操作需要拿到第一步的接口 那我们就需要等待第一步异步操作执行完后再执行第二步操作,这时就需要用到promise。Promise本身是同步的 只是解决异步操作的容器 但其提供的then和catch方法是异步的 自身有两个api resolve成功的回调 reject失败的回调。promise有提供两个常用api all、race(其他api我实在没遇到需要用的地方 如果想了解 请移驾其他文章)promise的使用场景?
2025-03-06 14:26:43
238
原创 前端 - js - - es6新特性(高频面试题)
tab键上面的那个键 和普通字符串使用方式没区别 但多了一项功能 ${ } 可以在${ }中引用变量 代替传统字符串写法:"我是字符串 我有一个变量" + value + "这个就是我的变量" 使用模板字符串:`我是模板字符串 我有一个变量${value}这个就是我的变量`1.let定义变量 const定义常量 即let定义的属性可以修改 const定义的属性不可修改 引用数据类型可修改值 不可修改内存地址。2.let定义的属性可不赋值 const定义的属性必须赋值。可在直接定义返回对象中的某个属性。
2025-03-06 13:59:02
426
原创 前端 - vue - - 大文件切片上传
在上传功能中 大文件(几十、几百兆)用常规上传方法会导致接口超时 此时我们需要将大文件切成n段上传注意:我定义的是10M为一片段 如过所上传的文件小于10M则会报错 所以上传前要先判断文件是否大于单个片段的大小 如过小于 就走普通上传
2025-03-05 11:34:31
121
原创 前端 - vue - - elementui上传文件组件封装
elementui的upload控件提供了各种配置 我们需要用到的有 list-type(文件列表表现类型)、file-list(绑定的文件数据)、limit(限制上传个数)、accept(限制上传类型)、before-upload(上传前的回调)、http-request(自定义上传)、on-remove(移除时的回调)、v-loading(加载中效果 看需求而定)
2025-03-05 11:16:48
885
原创 前端 - uniapp - - 获取formdata对象上传文件
场景:小程序中选择图片/文件 上传至服务器时,接口要求前端传formData对象但小程序中没有formData对象 所以我们在使用new FormData()时会报错,而uniapp提供了一个上传文件的api可以获取formData对象https://uniapp.dcloud.net.cn/api/request/network-file.html#uploadfile
2025-03-04 11:24:59
545
原创 前端 - vue - - 浏览器缓存LocalStorage、SessionStorage、Cookie
关于cookie有一个重要用途:因为cookie存储在服务端 所以统一域名下的所有服务都可以共享cookie 我们可以根据这一特性 模拟单点登录效果:
2025-03-04 11:10:51
1299
原创 前端 - css - - 实现元素水平垂直方向居中
6、根据父元素大小设置 margin 使外边距等于父元素大小减去盒子大小(垃圾写法 不推荐)5、图片居中:vertical-align: center。4、文字居中: text-align: center。
2025-03-03 11:31:51
181
原创 前端 - css - - flex布局
前端开发必备技能:页面自适应 实现页面自适应的方法有多种 我个人认为最常用最方便的方法就是使用flex属性 可以实现几乎所有场景的布局
2025-03-03 11:20:36
431
原创 前端 - js - - 数据类型
1、基本数据类型(简单数据类型):string(字符串)、number(数字)、boolean(布尔值)、null(空)、undefined(未定义)、2、引用数据类型(复杂数据类型):object(对象)、array(数组)、function(函数)、date(日期)、regexp(正则)、因map严格控制键名 并且其因独特的api(.set、.get)当频繁操作键名的时候 性能更优。1、object可通过字面量、构造函数、.create定义 map只能通过构造函数定义。、bigint(整数)
2025-02-28 17:56:56
297
原创 前端 - uniapp - - 小程序实现登录
小程序中有独立的一套登录流程 简单来说就是 前端调用特定api获取临时凭证 把这个临时凭证和小程序的信息传给后端 后端再去调小程序指定的登录接口
2025-02-27 09:32:36
487
原创 前端 - uniapp - - 自定义组件
在日常开发中 会遇到因某个组件高复用性 要将该组件封装起来 在vue中 封装好的组件在全局注册后 可以不用再在某个vue文件中单独引入 而在uniapp中改怎样全局注册组件呢?
2025-02-27 09:02:36
309
原创 前端 - js - - 箭头函数介绍
总结:日常开发中 箭头函数写法简洁 在vue中 可轻松获取当前vue实例 如果想更深层次了解箭头函数 可移步其他文章。( ) => { } 箭头函数是es6的一个新特性 它就是简化版的匿名函数(es6新特性初级高频面试题)( ( ) => { console.log( "我是立即执行函数" ) } )( )const fn = () => clonsole.log("我只有一行")箭头函数的this 指向的是父级的this。1、执行语句只有一行时可省略 { }箭头函数与普通函数最大的区别就是。
2025-02-26 16:13:53
148
原创 前端 - vue - vuex的使用
vuex通常作为vue2项目中跨组件通信的桥梁(vue3中常用pinia) 其有五个api:state(定义变量)、getters(监听变量)、 mutations(处理同步方法)、actions(处理异步方法)、moudels(将vuex分为多个板块)
2025-02-26 15:46:14
984
原创 前端 - vue - - vue2与vue3的生命周期
vue实例初始化时执行,替代vue2中的beforeCreate和created。(vue3.0需手写setup,3.2自带setup语法糖)
2025-02-25 10:01:59
261
原创 前端 - vue - - 多级路由嵌套,页面空白
答:拿elementui中的el-menu举例,确实是循环渲染路由及其children,但需要依据父id和子id的对应关系 将同级路由处理成嵌套路由,如1级菜单和2级菜单的路由都为同一级,但2级菜单具有parentId属性,1级菜单有id 无parentId,2级菜单的parentId 等于 1级菜单的id。像后台管理页面的layout侧边栏不就是根据路由的children渲染2级菜单、3级菜单的吗?router嵌套多级路由时 路径可跳转 但页面空白。
2025-02-25 09:08:51
246
原创 前端-uniapp-app.json在项目根目录中未找到app.json
场景:1、代码工程刚刚在仓库里拉下来 运行至微信开发者工具时报错:未找到app.json;2、解压出来别人压缩的代码工程后运行报错:未找到app.json;
2025-02-24 09:35:19
731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人