02 2021 档案
摘要:并行和并发: 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。 并发的关键是你有处理多个任务的能力,不一定要同时。并
阅读全文
摘要:原文:https://blog.csdn.net/shmily_lsl/article/details/84375547 前言 本来是想只做一个Nodejs运行原理-科普篇,但是收到了不少私信,要我多分享一些更进阶,更详细的内容,所以我会在接下来的两个月里继续更新Nodejs运行原理。 PS:此系列
阅读全文
摘要:https://blog.csdn.net/death05/article/details/80065742
阅读全文
摘要:原文链接,作者写的不错,怕以后链接失效粘贴一份 今天给大家介绍一下 Git Hooks,相信 Git 大家都在用吧,Git 除了用作版本控制,还有许多高级功能,Git Hooks 就是其中之一。 前言 做过前端的同学对 Hook 这个东西应该很了解吧,后端也是有 Hook 这种概念的,比如 Java
阅读全文
摘要:1.文件上传H5 https://juejin.cn/post/6844903894867247118 2.分片上传 https://segmentfault.com/a/1190000008899001 https://www.cnblogs.com/kdcg/p/13423029.html +
阅读全文
摘要:https://blog.csdn.net/qq_23329167/article/details/83856430
阅读全文
摘要:1、多域名加载资源 一般情况下,浏览器都会对单个域名下的并发请求数(文件加载)进行限制,通常最多有4个,那么第5个加载项将会被阻塞,直到前面的某一个文件加载完毕。 因为CDN文件是存放在不同区域(不同IP)的,所以对浏览器来说是可以同时加载页面所需的所有文件(远不止4个),从而提高页面加载速度。 2
阅读全文
摘要:后端:前端有接口请求,有跨域问题,需要设置响应头 前端页面: 因为做了静态资源托管:我们直接访问localhost:3000即可打开文件夹中的index页面 这样的话,前端发送的post请求数据,后端会得到并实时的推送给前端,前端映射在页面中。实现聊天室的效果
阅读全文
摘要:需求概述: 之前有个需求是用户扫二维码,进入到报名页面,报名后的数据会在PC大屏中以用户头像轮播出来,实时更新新报名的用户头像信息,之前的做法是通过前端开启定时器每隔一段时间请求一次后端接口以获得最新数据更新轮播。显然这种做法的代价太大了,被挂起了无数个请求连接,对服务器压力是很大的,所以我们采用w
阅读全文
摘要:https://www.cnblogs.com/gitnull/p/10728653.html
阅读全文
摘要:https://www.jianshu.com/p/b55086cbd9af 补充下options请求: HTTP的options方法用于获取目的的资源所支持的通信选项。客户端可以对特定的URL使用OPTIONS方法,也可以对整站(通过将URL设置为*)使用该方法。 三大特点: 1.标准 OPTIO
阅读全文
摘要:总体介绍: 后端准备接口,前端点击事件请求接口,但是由于后端服务与前端运行环境非同源,就会产生跨域问题,其实后端可以设置cors响应头去解决,但是这里介绍的是通过nginx配置反向代理去解决跨域问题。 开始干吧~ 1)后端准备工作:开一个本地端口号为9119的服务,用原生node和express都可
阅读全文
摘要:一:介绍 nginx是一个高性能的HTTP和反向代理服务器,其特点是占用内存少,并发能力强. 二:名词介绍 代理服务器: 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,去获取信息。 主要的功能有:1.突破自身IP访问限制,访问国外
阅读全文
摘要:1.下载nginx http://nginx.org/en/download.html 下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2.zip 下载后解压,解压后如下 2.启动nginx(nginx不需要配置环境变量) 有很多种方法启动nginx (
阅读全文
摘要:Plugin: 开始打包,在某个时刻,帮助我们处理⼀些什么事情的机制 plugin要比loader稍微复杂一些,在webpack的源码中,用plugin的机制还是占有非常大的场景,可以说plugin是webpack的灵魂。 设计模式 事件驱动 发布订阅 plugin是一个类,里面包含一个apply函
阅读全文
摘要:loader就是一个函数,声明式函数,不能用箭头函数 loader是拿到源代码,作进一步的修饰处理,再返回处理后的源码就可以了 编写loader: 在入口文件index.js中: webpack.config.js配置文件: 创建的loader: 查看打包后的结果:原来index.js中的hello
阅读全文
摘要:什么是代码使用率? 比如一个JS文件有100行代码,加载他的时候里面当前可能只有60行是直接能加载用到的,里面的另外40行比如说是click事件触发后的代码逻辑,显然,如果我们不点击,只是纯属浏览,那么这40行代码就白白加载了,因为用不到啊,所以总体来说这个文件的代码使用率就是60%。 但是呢?如果
阅读全文
摘要:1. npm i @xxx 安装这种有带有@的包时候:提示报错 解决方法:只需要把有@的那部分用引号包起来即可完成安装 2.当遇见npm i 下载依赖失败的时候: 1.删除原有的node_modules,重新npm i rm -rf node_modules 2.切换下载源 nrm use 源 3.
阅读全文
摘要:https://github.com/webpack/analyse 在命令行中加上 --profile --json > stats.json 运行npm run bundle,会在根目录生成一个json文件,这个文件中包含了此次打包的所有信息 看这个json文件我们肯定看不懂,我们可以用官方推荐
阅读全文
摘要:我们在入口文件index.js中引入lodash,执行一个方法: 运行发现打的包是2.2MB了,很大,因为这样引入是把lodash全部引入了,体积很大 我们想要的是,像是引入的第三方库我们不想每次打包的时候重新去加载,我们只打包自己的业务逻辑代码,第三方库我们让浏览器缓存,运行的时候直接拿缓存。 1
阅读全文
摘要:一、基于配置文件方式配置 我们想要做的就是打包时候可以开发和生产配置不同的配置文件去打包: webpack.dev.js 和webpack.prod.js 在package.json中配置对应这两种的打包运行命令以及本地便于开发调试的dev-server 接着,我们把原来的webpack.confi
阅读全文
摘要:webpack2.x开始支持 tree shaking概念,顾名思义,"摇树",只支持ES module的引入方式(ES6)!!!! 这个方法就是在生产模式下打包出的index.js文件不会把没有使用到的模块给打包进去。从而减少代码体积。 就是会对入口文件index.js 进行检测,没有使用到的就不
阅读全文
摘要:Babel处理ES6 官方网站:https://babeljs.io/ 安装:npm i babel-loader @babel/core @babel/preset-env -D //babel-loader是webpack 与 babel的通信桥梁,不会做把es6转成es5的工作,这部分工作需要
阅读全文
摘要:每次改完代码都需要重新打包一次,打开浏览器,刷新一次,很麻烦 我们可以安装使用webpackdevserver来改善这块的体验 webpack-dev-server主要是启动了一个使用express的Http服务器。它的作用主要是用来伺服资源文件。此外这个Http服务器和client使用了webso
阅读全文
摘要:应用场景:在开发中我们哪里出错了,可以帮助我们快速的定位到哪里出错了。 在webapck.config.js配置文件中,如果mode是development开发模式的话,是默认开启(就是不写devtool),是但定位的错误行数没那么准确。 设置devtool:"source-map",即可捕获到错误
阅读全文
摘要:plugin 可以在webpack运行到某个阶段的时候,帮你做一些事情,类似于生命周期的概念。 在之前我们使用loader的时候,我们打包后还需要自己手动在打包后的文件夹中创建一个index.html文件,并且这个文件中引入打包后的js,非常麻烦,所以就有了下面这个插件。 一、HtmlWebpack
阅读全文
摘要:安装webpack,推荐使用局部安装,如果全局安装的话,每个项目可能不一定用的是一个webpack的版本 局部安装项目内安装: npm install webpack webpack-cli --save-dev //-D webpack -v //command not found 默认在全局环境
阅读全文
摘要:使用git也是要像SVN一样先下载一个客户端,安装完成后,右键就会有: GUI是UI界面 Base是命令行 git第一次去clone的时候,就会先让你填写密码; 提交时候是先提交到本地仓库,然后才push到远程仓库。 在git上去点击fork别人的这个项目,就相当于自己创建了一个分支版本,你就可以愿
阅读全文
摘要:SVN 集中式: 中心服务器;唯一最新版 git 分布式: 每个客户端都是服务器;很多个最新版 其实git也需要一个中心的服务器,只不过他的主要工作不是用来保存代码,而是去拉取一个更新的版本信息,用作交换信息用的。 SVN操作步骤: 1.安装完成svn后,鼠标右键选择checkout 会自动把下载地
阅读全文
摘要:服务端渲染: 1)安全性高 ->用户登录 注册用服务端渲染 2)SEO 客户端渲染: 1)节约流量 2)用户体验好(不需要重新刷新页面) 常用服务端渲染框架: 1)pug(jade) 侵入式:了解 一旦用了pug,再想离开他就不行了,因为他会彻底的破坏原来的html 安装:npm i pug -D
阅读全文
摘要:常用文件格式十六进制文件头JPEG (jpg),文件头:FFD8FFPNG (png),文件头:89504E47GIF (gif),文件头:47494638TIFF (tif),文件头:49492A00Windows Bitmap (bmp),文件头:424DCAD (dwg),文件头:414331
阅读全文
摘要:本文详细介绍了 XMLHttpRequest 相关知识: https://www.jianshu.com/p/22f82be980fb?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommenda
阅读全文
摘要:// 强制转换为Boolean 用 !! var bool = !!"c"; console.log(typeof bool); // boolean 用法:如果你想判断name为不为空~~~~ 一般这样写hasName = name? true : false,换种写法hasName = !!na
阅读全文
摘要:写在前面 这是关于JS二进制操作的第三篇博客此前从宏观角度介绍了如何通过JS创建一个二进制对象,并介绍了如何将本地二进制内容读取至内存。本篇将介绍如何在内存中操作二进制数据。 JS与二进制数据 现代计算机中操作二进制数据的基本单位是字节(byte),故二进制数据一般以字节数组的形式存在于程序中。如:
阅读全文
摘要:转自:https://www.cnblogs.com/hhhyaaon/p/5929492.html 写在前面 前一篇文章介绍了HTML5中的Blob对象(详情戳这里),从中了解到Blob对象只是二进制数据的容器,本身并不能操作二进制,故本篇将对其操作对象FileReader进行介绍。 FileRe
阅读全文
摘要:转自:https://www.cnblogs.com/hhhyaaon/p/5928152.html 写在前面 本篇主要总结Blob对象属性及作用,通过DEMO介绍Blob对象的应用场景。 Blob对象 一直以来,JS都没有比较好的可以直接处理二进制的方法。而Blob的存在,允许我们可以通过JS直接
阅读全文
摘要:过去有很长一段时间,我一直很难理解 reduce() 这个方法的具体用法,平时也很少用到它。事实上,如果你能真正了解它的话,其实在很多地方我们都可以用得上,那么今天我们就来简单聊聊JS中 reduce() 的用法。 一、语法 arr.reduce(function(prev,cur,index,ar
阅读全文

浙公网安备 33010602011771号