残梦a
码龄4年
  • 16,592
    被访问
  • 37
    原创
  • 1,838,104
    排名
  • 13
    粉丝
  • 0
    铁粉
关注
提问 私信

个人简介:童年时,这个世界充满了新奇的玩具,再普通的东西在你眼中都如同至宝。如今,计算机语言就是你手中的大玩具,一段段代码的拆分组装,构建出我们所生活的网络世界。永远有无数新奇等你发现,永远有无数梦想等你构建。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2018-09-24
博客简介:

SH'S BLOG

博客描述:
欢迎访问我的个人博客 https://sunhang.top 选择了计算机这条道路就打算一直走下去^-^
查看详细资料
个人成就
  • 获得56次点赞
  • 内容获得7次评论
  • 获得53次收藏
  • GitHub 获得532Stars
创作历程
  • 21篇
    2020年
  • 16篇
    2019年
成就勋章
TA的专栏
  • webpack
    1篇
  • 面试题
    12篇
  • js
    12篇
  • node
    2篇
  • github
    3篇
  • mvvm
    1篇
  • 博客
    3篇
  • https
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

redux-saga常用api概述

1. call 异步阻塞调用2. fork 异步非阻塞调用,无阻塞的执行fn,执行fn时,不会暂停Generator3. put 相当于dispatch,分发一个action4. select 相当于getState,用于获取store中相应部分的state5. take 监听action,暂停Generator,匹配的action被发起时,恢复执行。take结合fork,可以实现takeEvery和takeLatest的效果6. takeEvery 监听action,每监听到一个action,就
原创
发布博客 2020.06.23 ·
589 阅读 ·
1 点赞 ·
0 评论

Webpack项目实战优化

webpack优化大合集在项目中经常用到的性能优化postcss-loader 以及 autoprefixer 插件自动补全css前缀raw-loader 资源内联提取公共资源代码分割及动态importwebpack中使用eslint打包速度分析打包文件体积分析多线程打包...
原创
发布博客 2020.05.07 ·
119 阅读 ·
0 点赞 ·
0 评论

在React中使用Typescript

在React中使用Typescript最近学习的技术发现TS越来越多,于是自己尝试做了几个Demo实战,发现TS上手不是很难,但是一旦出现错误很难百度到对应的文档,而且在react中也不会使用ts来编写跟着这个文章走,内容可能会很长,一步一步去写,保证你的React项目可以使用TS来编写本人写的一个 TS+Hooks简易版实战1. 创建一个React的TS项目react的脚手架crea...
原创
发布博客 2020.05.05 ·
231 阅读 ·
1 点赞 ·
0 评论

触发React渲染的几种方式

初始化初次加载组件的时候,会调用一次render函数更新state发生改变props发生改变强制更新如果不是前两种,还希望组件发生更新,可以使用this.forceUpdate()注意: <button onClick={() => this.forceUpdate()}>强制渲染 不可以写为<button onClick={this.forceUpd...
原创
发布博客 2020.04.18 ·
1711 阅读 ·
0 点赞 ·
0 评论

react配置装饰器

react配置装饰器npm install -D @babel/plugin-proposal-decorators配置.babelrc 文件或package.json文件的 babel 字段值(两者二选一,不要都配置,否者会报找到两个配置文件的错(1)配置 .babelrc 文件"plugins": [ ["@babel/plugin-proposal-decorat...
原创
发布博客 2020.04.01 ·
240 阅读 ·
1 点赞 ·
0 评论

第三方授权登录流程 && 实例

前言目前很多网站都有注册登录的方式,同时他们也都有第三方授权登录,那么为什么第三方授权会有呢?如果一个网站必须要注册登录才能访问的话,那么他的访问量会大量下降,如果不需要注册,例如使用微信和QQ去登录这个网站,是绝大多数的人的选择原理步骤一般第三方软件会有一个授权步骤第三方授权的图标是一个链接,链接到授权网站,获取到token 一般会携带一个 client_id还有一个回调地...
原创
发布博客 2020.03.21 ·
2717 阅读 ·
1 点赞 ·
0 评论

订阅/发布模式

订阅发布模式在这种模式中,并不是⼀个对象调⽤另⼀个对象的⽅法,⽽是⼀个对象订阅另⼀个对象的 特定活动并在状态改编后获得通知。订阅者因此也成为观察者,⽽被观察的对象成为发布者或者主题。当发⽣了⼀个重要事件时候 发布者会通知(调⽤)所有订阅者并且可能经常已事件对象的形式传递消息vue中的 emit, on源码 ⼤概也是这个样⼦ vue源码完整的演示代码class A { const...
原创
发布博客 2020.03.18 ·
91 阅读 ·
0 点赞 ·
0 评论

深拷贝的理解和如何手写一个深拷贝

深拷贝说到深拷贝,肯定想到的最简单的方式就 JSON.stringify 和 JSON.parse 配合,这个是最简单的深拷贝方式手写一个深拷贝深拷贝 = 浅拷贝 + 递归 ,这个只是最笨的一种方式var a = { name: "muyiy", book: { title: "You Don't Know JS", price: "4...
原创
发布博客 2020.03.18 ·
550 阅读 ·
1 点赞 ·
0 评论

完美解决原型和原型链理解问题

理解原型和原型链原型和原型链学了很久,但是一直没有完全理解,虽然现在也没用完全理解,但能勉强对付一下了这里面先参考一下 阮大大的教程前言要先从继承开始讲起,根据其他语言比如java或者c++来说,他们都可以通过new来创建一个实例对象,然后js也出现了new的关键字,但是new后面不能跟着类,必须要跟着构造函数new运算符的缺点用构造函数生成实例对象,有一个缺点,那就是无法共享属性和方...
原创
发布博客 2020.03.18 ·
172 阅读 ·
1 点赞 ·
0 评论

dva+umi全栈练习项目

React-美团(Dva + umi + koa + Mongoose)说明 自己为何要去尝试写一个这么多页面的网页????,本人是纯粹的小白一枚,在各大论坛不停的刷着Vue,React,RN,微信小程序等方面的教程,虽然不停的学习,但是发现自己的技术并没有实质上的提高,就是不停的重复着同样的任务,每个地方都学到了一点,只要混合在一起,马上就全都不会了,????所以第一次尝试使用最新的技术去制作一个...
原创
发布博客 2020.03.09 ·
288 阅读 ·
1 点赞 ·
0 评论

浏览器缓存

当浏览器要请求资源时调用 Service Worker 的 fetch 事件响应查看 memory cache查看 disk cache。这里又细分:如果有强制缓存且未失效,则使用强制缓存,不请求服务器。这时的状态码全部是 200如果有强制缓存但已失效,使用对比缓存,比较后确定 304 还是 200发送网络请求,等待网络响应把响应内容存入 disk cache (如果 HTT...
原创
发布博客 2020.02.28 ·
88 阅读 ·
1 点赞 ·
0 评论

html文本溢出,css实现方式

实际开发的过程中,数据都是从后台获取的,那么他的长度是不确定的,所以我们需要设置一个溢出值第一种(单行)overflow: hidden;white-space: nowrap;text-overflow: ellipsis;第二种(多行)-webkit-line-clamp: 2;display: -webkit-box;-webkit-box-orient: vertical...
原创
发布博客 2020.02.27 ·
101 阅读 ·
1 点赞 ·
0 评论

vue图片预加载

在本次开发的过程中,我遇到了一个问题,就是我的首页是多个壁纸转换,需要提前加载先展示一下效果,再看代码,我的首页是多个壁纸之间跳转效果图代码 <template> <div> <div class="loading"> <el-progress type="dashboard" :percentage="percent...
原创
发布博客 2020.02.22 ·
634 阅读 ·
1 点赞 ·
0 评论

git push之后服务器如何自动更新?

在我们开发的过程中,我的开发流程一般都是说明 本地 -> git push -> 服务器 -> git pull -> npm i -> yarn build那么我们能不能去监听 git push 呢?如果我们每次push之后,服务器可以自动的去执行上面的后面的命令岂不是很好第一种方式使用 travis-ci.org -> 官网他的作用就是我们每次p...
原创
发布博客 2020.02.07 ·
675 阅读 ·
3 点赞 ·
1 评论

webpack实现es6转换为es5

Webpack实现es6转换为es5安装插件npm install --save-dev babel-loader @babel/core @babel/preset-env配置在webpack.config.js中的module的rules中,添加一条新的loader{ test: /\.js/, //babel转化es6到es5 exclude: /node_module...
原创
发布博客 2020.01.26 ·
435 阅读 ·
1 点赞 ·
0 评论

前端安全防御大全

网络安全前端不需要过硬的网络安全方面的知识,但是能够了解大多数的网络安全,并且可以进行简单的防御前两三个是需要的介绍一下常见的安全问题,解决方式,和小的Demo,希望大家喜欢网络安全汇总XSSCSRF点击劫持SQL注入OS注入请求劫持DDOS在我看来,前端可以了解并且防御前4个就可以了(小声逼逼:大佬当我没说)XSSCross Site...
原创
发布博客 2020.01.20 ·
461 阅读 ·
1 点赞 ·
0 评论

请求的转发和重定向

请求 request 简写 req响应 response 简写 res客户端 -> 发出请求request -> 服务器做出一定处理之后 -> 返回响应response -> 客户端转发和重定向转发和重定向也是我们前端需要了解的一个能力,知道什么时候使用转发,什么时候使用重定向就可以了在发出一个请求或者说跳转到某一个页面的时候,并不能直接达到这个页面,我们需要...
原创
发布博客 2020.01.16 ·
220 阅读 ·
1 点赞 ·
0 评论

时尚最详细webpack讲解

Webpack介绍1.1 Webpack是什么webpack是前端方面的静态资源打包工具,能够让浏览器也支持模块化,他会根据模块的依赖关系进行静态分析,然后按照某种规则生成静态资源1.2 WebPack的作用webpack的核心主要是进行JavaScript资源打包把静态文件,例如png,sass,less,css,js等多个文件打包成一个文件,减少页面的请求可以集成 http ...
原创
发布博客 2020.01.16 ·
117 阅读 ·
1 点赞 ·
0 评论

vue常用修饰符

在开发的过程中,如果我们能够熟练掌握vue的修饰符,就可以大大提高我们的开发效率分类表单修饰符事件修饰符鼠标按键修饰符键值修饰符表单修饰符.lazy<div> <input type="text" v-model="value"> <p>{{value}}</p></div>//每次数据改变...
原创
发布博客 2020.01.13 ·
346 阅读 ·
4 点赞 ·
0 评论

搭建自己的esay-mock

easy-mock数据接口说明: 由于eask-mock访问量过大,总是出现无法访问或者不安全链接等等神奇的操作,=-=,原官网,所以我只好自己踩坑去安装easy-mock数据接口,期间内也是遇到了很多神奇的问题,!竟然要求node版本是8.^.版本!,这可是很古老了,然后又去学习和安装了nvm,反正一大堆坑!!!关于如何使用mock数据,请查看 mockjs自己如何安装? 安装...
原创
发布博客 2020.01.13 ·
341 阅读 ·
2 点赞 ·
0 评论
加载更多