一枚前端猿
码龄6年
关注
提问 私信
  • 博客:289,477
    问答:169
    289,646
    总访问量
  • 103
    原创
  • 1,303,482
    排名
  • 39
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-06-24
博客简介:

qq_42535651的博客

查看详细资料
个人成就
  • 获得185次点赞
  • 内容获得71次评论
  • 获得525次收藏
  • 代码片获得1,303次分享
创作历程
  • 1篇
    2022年
  • 9篇
    2021年
  • 51篇
    2020年
  • 74篇
    2019年
成就勋章
兴趣领域 设置
  • 前端
    javascriptvue.js
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

nodejs http.get 方法可以 request 不行

使用 nodejs 提供的 https.request api 请求。但是发现不管怎么请求都是, socket hang up 意思就是断开了。刚开始一直怀疑是 options 参数里面不对,一直在调,后来用了 https.get 方法,发现可以。搜了一下,原来是 https.request 要添加一个 end 方法,才会发送请求。https.get 方法内其实自带了 end 。因此我们在使用 https.request 时要添加一个 end 。 const request = https.re
原创
发布博客 2022.02.07 ·
1023 阅读 ·
2 点赞 ·
1 评论 ·
1 收藏

react 下拉选项自动滚动到可视区域

使用 useRef 和 Element.scrollIntoView 两个 api 即可实现自动滚动。const App = () => { const containerRef = useRef(null); const appleRef = useRef(null); const clickButton = () => { appleRef.current.scrollIntoView(); }; return ( <div> &
原创
发布博客 2021.07.06 ·
916 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

koa cluster 使用多进程

koa 使用多进程使用 nodejs 的 koa 框架作为后端服务时,为了充分利用服务器的核数,可以创建与cpu 数量相同的进程数。创建多进程中可以使用 child_process 也可以使用 cluster。但是创建了多个进程后还需要考虑负载均衡。因为 cluster 中自己做了负载均衡的算法: round-robin(新连接由主进程接受,然后由它选择一个可用的 worker 把连接交出去,说白了就是轮转法)所以使用 cluster这里创建进程时,让子进程监听同一端口。可能会问:多个子进程监听同一
原创
发布博客 2021.05.10 ·
2504 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

js 实现排列组合

组合: (不考虑顺序,无重复)//测试用例let dataArr = [1, 2, 3, 4, 5];function combination(dataArr, remainNum, currentArr) { if (remainNum === 0) { console.log(...currentArr); return; } for (let i = 0; i < dataArr.length + 1 - remainNum; i++) { curre
原创
发布博客 2021.04.07 ·
1605 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

自己实现 koa 中间件的 app.use 和 next 函数

下面是我自己简单实现了一下 koa 的中间件运行函数//实现一个 koa 的函数function app() {}app.prototype.ctx = { name: "123",};app.prototype.callBack = [];const next = async function () { this.MiddleWareNum++; if (this.callBack[this.MiddleWareNum]) { await this.callBack
原创
发布博客 2021.03.28 ·
932 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

前端如何转换 schema 和 xml

最近开发遇到一种场景:1.转换 xml 字符串到 schema ( json 对象)2.或者转换 json 对象到 xml 字符串在 nodejs 中已经有成熟的第三方库: xml2jshttps://www.npmjs.com/package/xml2js但是这个库是用于 nodejs 中的,如何在前端使用会报错。查看源代码发现,这个库中使用了 event 和 timers 这两个 nodejs 自带的库。这在前端是不能使用的。但是由找不到其他前端转换的第三方库解决方法:安装 even
原创
发布博客 2021.03.22 ·
448 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

javascript 核心模块的源码在哪里找?

答:

nodejs 源码 :https://github.com/nodejs/node

回答问题 2021.03.06

Warning: Instance created by `useForm` is not connect to any Form element. Forget to pass `form` pro

在antd 中使用 form 报错Warning: Instance created by useForm is not connect to any Form element. Forget to pass form prop?解决方法,在 Modal 中添加属性 forceRender
转载
发布博客 2021.03.02 ·
509 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

源码分析 vue-cli 中安装依赖

最近想要自己实现一个 cli看了 vue-cli 源码中安装依赖的部分源码文件 @vue/cli/lib/util/ProjectPackageManager.js 有一个 install 函数执行了 npm install 或者 yarn install async install () { return await this.runCommand('install', this.needsPeerDepsFix ? ['--legacy-peer-deps'] : []) }下
原创
发布博客 2021.02.27 ·
499 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

node 使用 download-git-repo 下载 github 代码

在执行 node 时,需要从 github 下载源码。就找到了网上了有一个库 download-git-repo ,可以用于从 github clone 或者下载代码。download-git-repo 文档 https://www.npmjs.com/package/download-git-repo下面代码用到了 download-git-repo 和 rimraf 两个第三方库npm install download-git-repo rimraf使用 clone 时,路径GitHub
原创
发布博客 2021.02.22 ·
7294 阅读 ·
1 点赞 ·
6 评论 ·
1 收藏

最近写一个动态进度条,出了个问题,使用xhr.upload.onprogress的问题

答:

跨域请求之前,会先发送一个 option 请求,询问服务器支持那些 methods 。并且会根据服务器的返回头来判断服务器是否支持跨域。你这个是发送了 option 请求,但是返回头中没有 access-control-allow-origin ,因此就不会再发送get 或者 post 请求了

回答问题 2021.02.09

移动端的背景图片怎么兼容?

答:

你的图片应该不是正方形。想要平铺又不想超出,那么就设置这个图片长方形的一边为 100%。图片会自动撑满,而且图片保持原本的等比例

回答问题 2021.02.09

chrome 跨域主域名不同无法跨域携带 cookie samesite问题

背景:最近遇到了一个跨域无法携带 cookie 的问题。即我在前后端设置无误的情况下跨域,可以正常发送请求但是无法携带 cookie。最后经过一番搜索找到了问题的原因,并在此进行记录一下。什么是跨域?跨域是浏览器的一种保护措施。防止一些恶意网站将一些链接以某种形式嵌入在网站中,用户不经意间点击链接,其实就会向链接发送了一个请求。如果请求可以随意携带上 cookie ,那就存在了安全问题,比如使用用户的 cookie 进行一些购物操作等,在用户不知情的情况下进行恶意操作。因此浏览器限制了不同域名的请
原创
发布博客 2021.02.09 ·
3948 阅读 ·
6 点赞 ·
0 评论 ·
9 收藏

从零开始搭建 web 聊天室(一)

本篇将介绍如何快速、简便地使用 socket.io 库搭建一个 web 在线聊天室。前端并没有使用任何框架。后端使用 express 框架搭建简易的后端。socket.io 库本质上是基于 websocket 上进行封装。改变了以往只能前端发送请求,后端才能返回给前端信息,这样的一问一答形式。实现了前后端双向通信,即后端也可以主动 push 信息到前端。websocket 尤其适用于在线聊天或者实时交互的场景。已经广泛用于直播平台、视频平台等。本篇实现:最基本的前后端信息交互。代码地址:https
原创
发布博客 2020.12.20 ·
5510 阅读 ·
2 点赞 ·
4 评论 ·
28 收藏

express 使用 redirect 对 ajax 无效 页面不跳转

问题描述:自己在使用 express 的 redirect 时,并不进行跳转操作,但是前端是可以接收到整个后端将要跳转的整个页面的 html已经是301状态码,但是页面不跳转原因:使用 ajax 后,后端无法直接让前端进行页面跳转。需要前端进行状态码和后端返回的数据的判断,然后前端自己进行跳转页面。因为 ajax 是一个完整的请求和回掉的过程,header 头是不会变的。我们以前使用后端来让前端跳转原理是通过给浏览器发送一个特殊的 header 然后进行跳转。而 ajax 不会进行更改 head
原创
发布博客 2020.12.15 ·
821 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

express 解析 ajax post 数据 body 为空对象

问题描述:前端使用 jquery 的 ajax 向后端发送 post 数据并携带参数,但是 express 解析的 body 为空对象。代码:使用 express 框架解析前端 post 的数据时var express = require("express");var bodyParser = require("body-parser");var app = express();app.use(bodyParser.urlencoded({ extended: false }));ap
原创
发布博客 2020.12.14 ·
2620 阅读 ·
8 点赞 ·
3 评论 ·
6 收藏

c++中报错预处理器指令后有意外标记 - 应输入换行符

在复制粘贴别人的代码时,运行起来会有报错: warning C4067: 预处理器指令后有意外标记 - 应输入换行符 error LNK2019: 无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用因为中间复制粘贴过程中有一些乱码导致的解决方法:将代码复制到 word 里或者 txt 文件里再粘贴回来就可以正常运行...
原创
发布博客 2020.12.12 ·
10490 阅读 ·
7 点赞 ·
3 评论 ·
12 收藏

你不知道的三种在for循环中使用setTimeout的方法

在 for 循环中使用 setTimeout 中可能会出现结果输出不符合预期:for (var i = 0; i < 5; i++) { setTimeout(() => { console.log(i); });}最后的输出结果:55555原因是 var 变量不存在块级作用域,这5次循环中 setTimeout 使用的 i 其实都是一个 i,而setTimeout 异步执行会在 for 循环之后执行。因此 setTimeout 获取的 i 都是最后执行完
原创
发布博客 2020.11.18 ·
2393 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

javascript 垃圾回收机制--分代式垃圾回收机制

以前对 javascript 的垃圾回收机制没有深入了解过。以为只是简单的标记清除法。即从根对象开始找它的引用,然后依次往后找它引用的引用,依次递归,将所有被引用的变量打上标记。然后在遍历完后,清除没有被标记的变量。具体文章可以参考 mdn:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Memory_Management但是 javascript 中 v8 引擎中的垃圾回收机制比这个要稍微复杂一些。什么是 v8 引擎javascri
原创
发布博客 2020.11.10 ·
468 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

前端测试 jest 中判断函数由来

jest 中函数如何注入在以前使用 jest 的时候,就很好奇,jest 中判断函数是如何注入到文件中的。因为 test 文件并没有 require 引入所需要的测试的函数。例如:import React from "react";import List from "../List";import { shallow } from "enzyme";describe(`<List>`, () => { it("should render List", () => {
原创
发布博客 2020.11.10 ·
343 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多