- 博客(37)
- 收藏
- 关注
原创 npm安装包时如何解决依赖冲突
而当前是eslint@5.16.0,所以这里有2个选择,1升级eslint到指定版本,2降低eslint-loader到可以支持5.16.0版本的eslint。这里可以看到有些安装包依赖eslint v5版本,所以这里就又将eslint恢复到v5版本了,尝试安装到对应版本的eslint-loader以解决第一次的冲突。在当前目录下创建该脚本,首先根据发生冲突的eslint-loader版本,适当降低其版本,查看选择的版本,是否支持对应的eslint v5。如遇到新的冲突,根据以上步骤,逐步解决新的冲突。
2025-02-13 16:28:15
1302
原创 windows系统下deepseek模型本地部署
虽然直接在windows下部署是可行的,但由于模型中依赖的很多安装包无法直接在windows下运行安装,需要做额外的兼容处理,所以建议使用Windows系统自带的wsl工具安装linux子系统,以便在linux环境下运行。C盘磁盘空间不足,wsl默认安装子系统到C盘,一般C盘大小有限,可能无法再承载上百G的模型权重文件,此时可能需要把wsl子系统迁移到有空间的其他盘,这里采用的是从C盘导出并在其他盘重新导入 WSL 发行版。这里安装依赖时,在上面创建的虚拟环境中安装,直接安装,可能不成功。
2025-02-06 17:14:11
994
原创 vue router路由复用及刷新问题研究
因为相同的路径对应的路由还是默认会走vue-router的组件复用逻辑,如果直接在原有的Detail组件内部绑定key值是起不到作用的,这里修改新的路由组件为wrapper.vue组件,复用时也是复用的wrapper组件,在对wrapper组件进行diff算法更新时,由于key值不同,会重新触发子组件的渲染,此时就会重新触发Detail组件的。如果我们期望的是不管路由是不是从详情页跳转详情页复用,每次参数变化时,不复用之前的,销毁之前创建的组件实例,然后重新创建新的组件实例,要如何做呢?
2025-01-25 14:32:34
1232
2
原创 eslint配置解读
主要介绍一些常规的eslint配置属性,及如何查看对应eslint插件的具体规则配置内容。3、查看当前包下,lib文件夹下的index.js文件,查看具体的配置内容。从上面的配置文件中可以看到有哪些具体的配置规则,及配置集如。eslint插件命名规则:惯例是使用不带。字段,查找默认导出文件。表示该插件为eslint官方插件。常见的extend配置解析。前缀的 npm 包名称。文件可查看最终的配置内容。
2025-01-14 10:57:50
330
原创 lerna使用指南
每次publish时,有更新的包会发布对应的version版本,如果包无更新,则不发布。这样带来的一个问题是,当持续更新某一子包,而其他子包不更新时,Lerna将只对自上一个版本以来更改过的包进行版本和发布,这会导致包的版本随着时间的推移而漂移。命令,依赖于先执行依赖构建命令。命令时,如果命中缓存,lerna不会实际执行npm脚本命令,而是从缓存中读取。会比较所有包的当前版本与已发布的npm包版本,如果有更新,就会发布对应的包。,lerna v5 v7版本差别较大,在使用时,注意自身的lerna版本。
2025-01-13 16:36:21
678
原创 Grid布局常用属性梳理
从整体实验的数据来看,可以简单的得出一个结论,便于记忆和区分:xx-content用于控制网格项目的水平或者垂直布局,xx-items用户控制网格项目中的内容的布局。如果初始未设置对应属性的值,理论上默认是stretch,一旦设置了值,其内容根据设置值决定大小。
2024-09-10 14:30:57
1143
原创 HTTP请求入参类型解读
在HTTP请求中,请求头用于指示资源的MIME类型,即请求体的媒体类型。它告诉服务器实际发送的数据类型是什么,以便服务器能够正确地解析和处理这些数据。可以有多种值,每种值都对应着不同的媒体类型。以下是一些常见的?enctypeenctypeform-datatext/plaintext/plaintext/htmltext/htmltext/xmltext/xmltext/xml每种都对应着不同的数据格式和用途,选择合适的对于确保数据被正确解析和处理至关重要。
2024-07-24 11:38:03
1339
原创 vue项目中常见的一些preset及其关系
为了处理这些新的API,我们可以使用@babel/preset-env。但请注意,babel-polyfill已被废弃,推荐使用@babel/preset-env和core-js的组合来替代。总的来说,Babel通过@babel/preset-env和对应的polyfill(如core-js)来提供API的兼容性。api兼容是指随着浏览器版本迭代,新增的一些Api方法,比如Object.assign是ES6的语法,在只支持es5语法的浏览器中,Object对象并没有该方法,会导致调用错误。
2024-07-10 18:12:19
728
原创 vue-loader加载错误问题
但是神奇的是,这俩文件B和C对应的hash是一样的,这就导致编译的时候先编译了C,后面再遇到B时,由于hash相同,直接从缓存cache中取出C的编译结果,导致B渲染成了C。虽然问题不难解决,但是定位问题的过程还是挺麻烦的,还是请教了其他同事,才定位到vue-loader的parse函数的。然而实际页面渲染的时候,将B组件渲染成了C。将编译后的结果存储在cache中,后续如果命中缓存,就存缓存中读取,提升编译效率。发现其内部虽然指示了B组件,但是生成的render函数是C组件,所以最终渲染的也是C组件。
2024-01-30 17:32:18
1213
原创 vue异步组件使用及加载失败重新加载
在构建大型单页应用时,组件的按需加载和延迟加载对于性能优化至关重要。Vue.js 提供了一种实现这个需求的方式,那就是异步组件。异步组件允许我们将组件的加载延迟到实际需要的时候,而不是一开始就全部加载。这不仅可以减少首屏加载时间,还可以提高应用的响应速度。本文将介绍Vue2中异步组件的概念、使用方法以及一些技巧,重点介绍一下高阶异步组件及高阶异步组件加载失败后,如何实现重新加载。
2024-01-24 16:21:18
3010
原创 box-shadow参数学习及渲染过程研究
CSS 的 box-shadow 属性用于在元素的框架周围添加阴影效果。h-offset:水平阴影的位置。正值将阴影向右移动,负值将阴影向左移动。v-offset:垂直阴影的位置。正值将阴影向下移动,负值将阴影向上移动。blur:阴影的模糊距离。值越大,阴影边缘越模糊。如果省略,值为0,即阴影将尖锐清晰。spread:阴影的大小。正值会增加阴影的扩展范围,负值会减小阴影的扩展范围。如果省略,值为0。color:阴影的颜色。如果省略,值为 black。
2024-01-05 17:54:33
1731
原创 Gitlab添加SSH后任需要输入密码问题
如果配置了ssh后,任然需要输入密码,而且怎么输入密码都不对的时候,可以检查下ssh的配置文件,本文仅针对这种情况,以此记录,仅供参考。
2023-12-25 15:22:55
2125
原创 使用JavaScript实现粘贴上传图片
本文将介绍如何使用JavaScript实现粘贴上传图片的功能,包括剪贴板操作、图片解析和文件上传等方面。通过阅读本文,您将了解如何使用JavaScript和相关API来处理用户粘贴的图片,并将其上传到服务器。
2023-12-21 14:54:04
1922
原创 vue中mergeOptions的合并策略
vue实例中$options是一个很关键的属性,组件在渲染的过程中需要查找的component、filter等都从这里查找。而$options的内容大多是通过mergeOptions这个方法得到的。mergeOptions主要的调用地方大概有以下几处1、vue初始化函数_init中,将,所有的vue组件渲染都会走_init方法这里的mergeOptions函数大概干了哪些事情?对什么进行了合并,这里举个简单的例子。针对上面这段代码,_init中合并的是和自己定义的options。
2023-09-07 15:16:10
425
原创 linear-gradient参数学习与使用
inear-gradient() 函数用于创建一个表示两种或多种颜色线性渐变的图片。创建一个线性渐变,需要指定两种颜色,还可以实现不同方向(指定为一个角度)的渐变效果,如果不指定方向,默认从上到下渐变。
2023-04-20 16:17:55
22018
原创 clientWidth offsetWidth的区别
属性为何值,offsetWidth = clientWidth+borderLeft+borderRight;内容区域的宽度/高度,不包括边框border的宽度,含padding宽度。整个元素的宽高,包括边框border,即。时, offsetWidth为200px;
2023-02-16 16:12:56
190
原创 BFC学习
BFC全称是Block Formatting Context,块级格式化上下文。在官方文档到中是这么介绍的:一个BFC区域包含创建该上下文元素的所有子元素,但是不包括创建了新的BFC的子元素的内部元素,BFC是一块块独立的渲染区域,可以将BFC看成是元素的一种属性,拥有了这种属性的元素就会使他的子元素与世隔绝,不会影响到外部其他元素简单来说,创建一个BFC,相当于创建一个容器,容器里面元素样式不会影响容器外部样式。
2023-02-03 11:43:52
135
原创 vue中v-for循环key值问题研究
介绍关于key的作用,官方是这样描述的: key 的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。有相同父元素的子元素必须有独特的 key。重复的 key 会造成渲染错误。之前不知道在哪里看的文章,一直以为使用key是为了就地复用,但是从上面的描述中可以看到
2022-04-25 09:45:23
8021
原创 es6实现继承的原理
extend在实现继承方面,本质上也是原型链继承,不过相对于es5原有继承模式而言,多了一条原型链继承。继承会首先在闭包里调用 _inherits(B, _A);该方法实现了两步原型链继承B.prototype = Object.create(A.prototype, {constructor:{value: B}})Object.setPrototypeOf(B, A);即将B.__...
2019-07-08 12:15:59
1281
原创 安卓移动端数字键盘屏蔽加减
需求场景在手机端呼起数字键盘,在设置了type="number"之后,其实任然可以输入+, -;产品希望能够只输入数字和小数点,不要输入加减号。开发时,首先想到的是在keydown中监听当前输入的键值,如果不是0到9或者小数点,就不允许输入,其他则不允许。于是写出了以下代码$('#input-dom').on('keydown', function(e){ if ( e.key ...
2019-06-27 15:02:56
689
原创 移动端呼出键盘换行改为搜索
在移动端有的时候设计稿不给出设计按钮,是需要回车搜索的,这时候希望将键盘上的enter换成搜索默认<input type="text"/>对应的是换行第一步:在input外面包一层form结构<form><input type="text"/></form>,此时对应的按钮变成前往第二步:为form添加action,input改为search类...
2019-06-05 11:03:36
1941
原创 let初始化思考
直接写let x=x会报以下错误Uncaught ReferenceError: x is not defined此句分为两步,1、申明变量 let x2、赋值变量 x=x; 此时内存中创建x变量,但是并未为其分配空间,所以再赋值时,并不能找到有效引用在这之后,如果再次尝试初始化lex x=1,依然会报错Uncaught SyntaxError: Identifier 'x' has ...
2019-04-26 01:34:16
657
原创 浏览器缓存理解
浏览器请求缓存机制Cache Control:response Header中设置缓存no-cache | max-age=0在缓存有效期内,必须先请求服务器验证是否使用缓存,而非不缓存no-store不缓存max-age = 12200服务器返回资源的同时,会返回ETag值,客户端首次访问后,将ETag值和资源同时缓存下来,新开浏览器窗口,再次访问,如果在资源有效期内,则会直接...
2019-04-26 01:31:00
321
原创 利用iframe解决跨域请求
用iframe解决跨域问题的关键在于利用window.name属性不会随页面跳转而丢失,在parent域名下内嵌iframe请求跨域接口,将请求回来的数据结果赋值给iframe的contentWindow.name。此时由于浏览器限制跨域访问iframe.contentWindow的属性,所以不能直接访问iframe的window.name属性。此时需要将iframe转为同一域名,然后在paren...
2019-04-08 23:33:01
3589
原创 javascript实现常用排序算法
选择排序每次循环,找出剩余未排序数据中最小或最大数所在的位置,查找过程中不交换function selectSort(arr){ for(var i=0;i<arr.length;i++){ var m = i; for (var j=i+1;j<arr.length;j++){ if (arr[j]<arr[m]) { m = j; } }...
2019-04-08 23:29:27
186
原创 圆形进度示意图
这阵子项目里用到圆形进度图,使用canvas实现圆形进度加载条 (function (globle, factory) { typeof module != "undefined" &amp;&amp; typeof module.exports != "undefined" ? module.exports.HProgress = fa
2018-12-17 21:03:38
355
原创 Git忽略文件中的特定行或多行
Git忽略文件中的特定行或多行在开发时,不可避免的在测试环境加了一些测试用的代码和自己用的测试库,为了不影响整个团队的开发和项目代码维护,在实际推送的时候不希望这些代码也同步推上去。于是就希望在提交时能忽略那几行测试代码。方法:通过Git 的filter来过滤1、在项目根目录创建.gitattributes文件,文件内容xxx.js filter=gitignore其中...
2018-04-20 21:23:07
4329
5
原创 JSPatch 的基础配置与使用
第一步:搭建基础App 个人为了简单起见,只写了一个控制器PageImageViewController(这是以前随手写的测试程序,不要纠结于命名) PageImageViewController内容如下:- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteCol
2016-09-27 16:35:55
996
原创 window 7 下用MyEclipse编写Java程序连接HBase时遇到的问题
在连接HBase之前需要设置其基本配置信息,通常通过两种方式,一种是直接在工程中添加hbase-site.xml的配置文件,一种是通过Java代码直接设置,如cfg.set("hbase.rootdir", "hdfs://master:9000/hbase");cfg.set("hbase.master", "hdfs://master:60000");cfg.set("hbase.
2015-12-22 15:40:36
1267
原创 Java 实现快速排序 递归和非递归
//递归实现快速排序 public static void QuickSort(long[] numbers, int l, int h) { int i; if (l < h) { i = Hoare(numbers, l, h); QuickSort(numbers, 1, i - 1); ...
2015-10-21 18:45:57
805
原创 Ubuntu下mysql下载源
deb http://cz.archive.ubuntu.com/ubuntu pprecise main universe
2015-05-19 10:15:08
842
原创 C语言大数相乘
#include#include#include#define len 20void display(int *result,int length);void displayAll(int *result,int length);int * init(int *r,int length);int * add(int *r1,int *r2,int length);int * mo...
2014-11-17 15:22:20
1138
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人