RangeError: Array buffer allocation failed

2022-08-29
阅读 3 分钟
5.1k
const buffer = Buffer.concat(bufferList, len);定位到是上边这行出现了问题,检查了一下服务器,node应用的内存占用是 192.1mb。

Node.js获取Linux系统文件创建时间

2022-08-28
阅读 2 分钟
1.3k
最近在使用 Node.js 的 fs.readdir 遇到一个问题,就是想让读出的文件按创建时间的先后排序。最后结论是,办不了!!!。下面记录一下研究的过程。
封面图

MongoDB 模糊查询

2022-08-28
阅读 1 分钟
1.9k
在搜索接口的开发中,经常会遇到需要模糊匹配的场景,记录一下MySQL和MongoDB分别是怎么做的。对比 {代码...} LIKE模糊查询username以字母"张"开头的数据(张%) {代码...}

让百度搜索结果出现图片

2022-08-20
阅读 1 分钟
1.1k
你在使用百度搜索关键词后看到过带图片的数据吗?像下面的这样:没错它是这个网站的站长在百度投放的广告,看上去是那么醒目(真香~)。搜索结果中出现图片的好处?让信息更突出:如果在搜索结果中,其它信息都没有图片,只有你的网站信息有图片,用户的眼球一眼就被你的网站信息在抓住,这样你的网站自然脱颖而出,起到...
封面图

Content-Disposition:attachment没有触发浏览器下载弹框

2022-08-20
阅读 1 分钟
3.8k
最近在做一个浏览器下载文件的功能,遇到了一个奇怪的问题,“浏览器已经收到了服务器的响应,也能看到不停地接收数据,但就是没有弹出下载提示框”。
封面图

使用Node.js打包下载文件

2022-08-20
阅读 2 分钟
2k
本文介绍一下使用Node.js的fs模块创建zip文件,需要借助 archiver 包。后端创建归档文件这个操作一般由前端发起,如下图所示:把选中的文件地址发送给后端,后端根据文件地址创建归档文件,最后把归档文件的地址返回给前端,完成下载。 {代码...} 这样,程序执行后就可以在指定目录 生成一个按时间戳命名的.zip文件。前...
封面图

vue3集成markdown

2022-08-17
阅读 1 分钟
3.6k
Markdown 语法简洁,并且对于图片,图表、数学式都有支持,许多博客网站都广泛使用 Markdown 来撰写文章。解析markdown字符串vue3-markdown-itLiveDemo上边的这个NPM package可以很方便的集成到vue3的项目中,用来解析Markdown文本。支持:锚点定位换行emoji代码块语法高亮html标签toc...安装 {代码...} 在你的页面中引...

什么是SEO?

2022-08-17
阅读 2 分钟
594
SEO是(Search Engine Optimization)的缩写,意思是 搜索引擎优化。目的是让搜索引擎的爬虫更容易收集到你网站的内容,并把它们编写进自己的索引库中。
封面图

前端接口调试神器json-server

2022-08-09
阅读 3 分钟
1.7k
对于已经入门前端的同学,学会接口调试技能 算得上前端进阶的必经之路,但是雇一个后端来配合你学习接口调试显然有些不合理,那有没有自己一套全搞定的小工具呢?当然有,它就是 json-server,简单易学。本文就来介绍一下它。

如何搭建私有云盘?

2022-07-31
阅读 1 分钟
1.4k
现在国内可选择的网盘越来越少,而且上传下载限速,文件审核也很严格。针对这些缺点,自建网盘无疑是一个不错的选项。自建网盘的优缺点优点:自己控制数据、不限速(但取决于服你的务器)、功能多、无广告缺点:稳定性不如大公司、成本高、有一定技术门槛下面来列举一下开发一款私有云盘(网页端应用)需要具备哪些技术...
封面图

Node.js提供https服务

2022-07-30
阅读 2 分钟
1.7k
在服务器上的接口服务可能是通过Nginx转发,如果是https协议那么监听的是443端口。当然接口服务也可以直接访问服务器端 Node.js 监听的端口如:3100,不过你需要开放服务器的防火墙端口才可以。
封面图

JavaScript把秒格式为易读形式

2022-07-28
阅读 2 分钟
1k
把 33546001秒 格式化为 1年23天6小时20分1秒这种易读格式。 {代码...} 如果时分秒不足10需要补0,就是下边这样: {代码...} 有时我们还需要格式化过去的某个时间点,距离现在已经过去多久,如下:把文章或者评论的 发布时间 转换成,刚刚,10分钟前....可以参考下面这篇文章格式化发布时间

Node.js实现分片上传

2022-07-26
阅读 8 分钟
3.3k
大文件上传会消耗大量的时间,而且中途有可能上传失败。这时我们需要前端和后端配合来解决这个问题。解决步骤:文件分片,减少每次请求消耗的时间通知服务端合并文件分片控制并发的请求数量,避免浏览器内存溢出当因为网络或者其他原因导致某次的请求失败,我们重新发送请求断点续传文件的分片与合并在JavaScript中,FIl...
封面图

Node.js 使用 Buffer base64编码解码

2022-07-22
阅读 1 分钟
1.3k
{代码...}

Node.js版本管理

2022-07-15
阅读 3 分钟
1.5k
最近运行一个前端项目时,出现了Node.js版本与依赖版本不符的问题,如下: {代码...} 正如上面的错误提示,本地安装的node版本是14.16.0,于是打算将版本升级到大于16.0.0的版本。这里介绍一个node版本管理工具,可以方便的管理你本地的版本。安装命令: {代码...} 如果出现了下面的错误,你需要加上 sudo npm i n -g {...

selection-area鼠标框选文件

2022-07-13
阅读 2 分钟
1.2k
最近做了一个类似于云盘的 Web文件管理 应用,需要具备一个鼠标框选文件打包下载的功能,这里记录一下前端的实现过程。应用UI需要鼠标按下滑动时出现线框,提取被框选的文件id,然后上传给服务端进行打包下载。正常的网页,按下鼠标左键滑动是不会出现线框的,这里发现了一个好用的库 selection-area。详细内容大家可以...
封面图

vue 设置动态 ref

2022-06-28
阅读 2 分钟
1.7k
最近使用el-tabs组件遇到了一个问题:就是el-tabs中el-tab-pane是动态生成的,而且后续需要获取el-tab-pane中元素的ref,代码大概是下面的样子:

拖动元素边缘改变宽度

2022-06-27
阅读 2 分钟
2k
最近有个需求,需要可以手动拖动侧边栏菜单,改变其宽度。如下:要完成这个功能,我们需要了解以下前端知识:鼠标按下、抬起事件(mousedown、mouseup)鼠标移动事件(mousemove)鼠标按下时在屏幕上的位置 clientX鼠标hover到元素上鼠标样式为了使调整过程比较顺滑,需要用到css transition好,差不多了,开整。添加页...

v-model修饰符

2022-06-24
阅读 2 分钟
975
有一些情况,我们不希望用户输入空格这种无意义的字符,或者其他不合法的字符可以通过下面的方法解决。禁止输入空格v-model.trim {代码...} 这样空格就无法输入了。或者(偶尔会有问题): {代码...} 按照这个使用正则替换的思路,还可以实现其他效果,如下:只能输入数字v-model.number {代码...} 如果你用的是element-ui...

html <a>标签的妙用

2022-06-20
阅读 1 分钟
1.1k
标签在移动端浏览器有一些特别的用法,有时可以给用户提供很大的便利。拨打电话 {代码...} 发送短信 {代码...} 发送邮件 {代码...} 打开APP {代码...} 在线演示DEMO

JS从扁平array转tree

2022-06-19
阅读 3 分钟
1.5k
有时我们需要从扁平的数组结构(flat array),根据id,和pid构建出树形数组结构(tree array),这种情形经常出现在嵌套的目录结构,如下图:

Javascript URL encoding

2022-06-13
阅读 2 分钟
599
URL编码,有时也称为百分比编码,是一种将URL中的任何数据编码为可以在internet上传输的安全格式的机制。URL编码还用于为提交具有application/x-www-form-urlencoded MIME类型的HTML表单准备数据。

我们为什么会用到 URL Encoding?

2022-06-12
阅读 3 分钟
988
URL(Uniform Resource Locator 统一资源定位符)是万维网上资源的地址。url有一个定义良好的结构,万维网的发明者蒂姆·伯纳斯·李在RFC 1738中阐述了这个结构。

vue引入sass

2022-06-10
阅读 1 分钟
1k
sass世界上最成熟、最稳定、最强大的专业级CSS扩展语言!vue-cli 安装sass {代码...} 详见官网安装错误如果你使用 {代码...} 默认安装了高版本的sass-loader,可能会出现下面的错误:TypeError: this.getOptions is not a functionSimilar to what @KostDM said, in my case it seems like sass-loader@11.0.0 doesn't w...

JS 触发元素点击事件

2022-06-07
阅读 2 分钟
5.4k
一般情况下我们只是给dom元素绑定相关事件,等待用户触发。但是最近遇到一个情况,需要使用js手动触发元素的click事件,来看下具体情况。起因是一个上传组件选择图片后上传后,鼠标悬浮到上面是下面的样式:图片展示用的是element ui的大图预览组件:现在遇到的问题就是,上边覆盖了一个蒙层,点击小眼睛图标无法触发大...

JavaScript对象序列化为JSON

2022-06-06
阅读 2 分钟
818
这篇文章介绍一下怎样把JavaScript对象序列化为JSON。尽管JSON格式是建立在JavaScript对象的语法之上,然而它们并不相同,这意味着并不是所有的JavaScript对象都可以完全转化为JSON。

MIME types 介绍

2022-06-06
阅读 1 分钟
1.1k
它们都属于MIME (Multi-purpose Internet Mail Extensions) ,MIME types 使得浏览器可以识别出服务器通过HTTP协议发送的文件类型。

跨域问题解决办法

2022-06-06
阅读 2 分钟
1.5k
同源策略在web应用安全模型中是一个重要的概念。在这个策略下,浏览器允许第一个网页中包含的脚本可以获取第二个网页的数据,前提是这两个网页在同一个源下。
封面图

axios response data 返回空字符串

2022-05-28
阅读 2 分钟
4.5k
最近对做vue3项目时封装了一下axios作为网络请求工具,遇到了一个问题:发送post请求时,服务器返回的response data 为空字符串。但是 postman 测试可以正常返回数据(服务器是以json格式返回的数据)推测是 axios 的配置出了问题。

sass 中使用/deep/报错(已解决!!!)

2022-05-24
阅读 1 分钟
6.4k
vue3中使用element plus,想要覆盖组件的样式,想到了/deep/样式穿透,样式一直不生效,代码如下: {代码...} 上边的写法不会报错,但是也不会生效。改用下面的方式: {代码...} 好码,这样就报错了,如下:SassError: expected selector看来sass不支持这个选择器。解决方法:尝试用 ::v-deep 替换 /deep/ ,成功解决了...