20200611 前端开发日报

如何提升 Webpack 打包速度;【web前端开发】之Ajax的原理、实现步骤和实现方式;10 个实用的 JS 技巧;angularjs有什么点可以碾压vue, react之流;[vue源码02] computed 响应式 – 初始化,访问,更新过程;前端优化篇: 静态资源托管+gizp;当后端一次性丢给你10万条数据, 作为前端工程师的你,要怎么处理?;webpack新手学习记录

  1. 如何提升 Webpack 打包速度

    文/米酒 背景 前段时间在某个项目进行需求开发的时候,该项目是基于 webpack3 进行打包构建的。在开发过程中我发现打包很慢,开发体验不佳,于是做了简单的优化并梳理了优化方案 分析打包速度 进行优化的第一步需要知道我们的构建到底慢在那里。通过 speed-measure-webpack-plugin 测量你的 webpack 构建期间各…

  2. 【web前端开发】之Ajax的原理、实现步骤和实现方式

    前言:ajax的知识相对比较简单,此文章仅代表鄙人的总结和理解,如有错漏,欢迎指正… 一、原理: Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发送异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。 XMLHttpRequest是ajax的核心机制,是一种支持异步请求的技术。简单的说,也就是j…

  3. 10 个实用的 JS 技巧

    将 arguments 对象转换为数组 arguments对象是函数内部可访问的类似数组的对象,其中包含传递给该函数的参数的值。 与其他数组不同,这里我们可以访问值并获得长度(length),但是不能在其上使用其他数组方法。 幸运的是,我们可以将其转换为常规数组:  复制代码 varargArray =Array.prototype.slice.call…

  4. angularjs有什么点可以碾压vue, react之流

    这里所指的angularjs是只angular早期的1.x版本。虽然vue, react在热度上已经碾压angularjs几条街,但是在面对web开发(以DOM为中心的开发)中,某些场景下面,angularjs可能比任何框架或库都做得好。这里,主要举例两个点。 Modal弹窗的隐现 现在是单向数据流和immutable的天下,其目的是为了数据流所蕴含的业务流清晰…

  5. [vue源码02] computed 响应式 – 初始化,访问,更新过程

    导航 执行上下文 原型链 继承 事件循环 柯里化 偏函数 函数记忆 隐式转换 和 运算符 浏览器缓存机制(http缓存机制) 前端安全 深浅拷贝 Debounce Throttle [深…

  6. 前端优化篇: 静态资源托管+gizp

    前情提要 由于资源需要全球可以进行访问,可能会涉及节点的访问很慢,所以我们有些地方直接使用七牛云存储了 站点配置 这里我们推荐使用静态资源上云 优势 资源自动解压缩 云资源自动切换最近节点 等等 配置静态资源地址 module.exports = { … publicPath: (process.env.ENV == &q…

  7. 当后端一次性丢给你10万条数据, 作为前端工程师的你,要怎么处理?

    前段时间有朋友问我一个他们公司遇到的问题, 说是后端由于某种原因没有实现分页功能, 所以一次性返回了2万条数据,让前端用 select 组件展示到用户界面里. 我听完之后立马明白了他的困惑, 如果通过硬编码的方式去直接渲染这两万条数据到 select 中,肯定会卡死. 后面他还说需要支持搜索, 也是前端来实现,我顿时产生了兴趣….

  8. webpack新手学习记录

    webpack NPM 设置淘宝镜像 # 配置淘宝镜像 npm config set registry https://registry.npm.taobao.org # 安装cnpm npm install -g cnpm –registry=https://registry.npm.taobao.org 全局安装包 npm install –global 或者 npm install -g 其他命令 npm set # 查看包的信息 npm i…

  9. Vue响应式系统理解

    之前学习 vue 的时候,一直没刨根问底过。在看到网上这类文章比较多,参差不齐的质量有时候看的一头雾水。当然也有不错的文章,但是终究是别人的理解。于是写一篇关于自己的理解记录下来,亲身实践才能收获更多! 初阶:响应式原理 在说明之前,我们先了解一个 Object.defineProperty() 。引用 MDN 上的权威介绍 de…

  10. Canvas绘制圆点线段

    最近一个小伙遇到一个需求,客户需要绘制圆点样式的线条。 大致效果是这样的: 思路一:计算并使用arc填充 他自己实现了一种思路,然后咨询我有没有更好的思路。 先看看他的思路是如何实现的,大致代码如下: // 绘制圆点线,通过计算在线条上进行插值运算,计算出需要绘制圆点的一系列点位 // 然后调用dra…

  11. 了不起的 TypeScript 入门教程(1.2W字)

    TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。

  12. 一个轻量级 JavaScript 全文搜索库,轻松实现站内离线搜索

    介绍 Lunr.js是个用于浏览器的轻量级 JavaScript 全文搜索引擎。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询比较匹配的文档对于一些小型的博客、开发者文档或 Wiki 网站来说,完全可以通过它实现站内离线搜索: 为什么使用它? 对于已经将所有数据存储在客户端中的Web应用程序,也能…

  13. Webpack 11 之developement和production模式的区分打包

    课程目标 developement和production打包区别 如何解决在开发和打包的切换中常常修改webpack.config.js文件内容的问题? 一、developement和production打包区别 在开发项目的时候使用的模式是development模式 在development环境下我们使用的是webpack中的devServer可以帮助我们开启一个服务器,里面还集成…

  14. 用js代码触发dom事件的实现方案

    前端编写测试用例时,在测试界面上的一些效果时,通常都希望能够模拟一些用户操作,而模拟用户操作最主要的方式就是用代码触发指定事件。通常一些元素上会自带一些触发事件的方法,例如click、focus等,但是如果…

  15. VUE-cli跨域 proxyTable

    浏览器有同源策略的限制,所以不是同源的脚本不能被访问,即不能跨域名访问。 所以为了实现跨域,前后端都有很多解决的办法,这里我们就来解决webpack下vue的跨域问题。 二、webpack下vue跨域需要配置ProxyTable 1. 增加ProxyTable配置 在vue工程下的config -> index.js -> module.exports -> dev里增…

  16. SpringBoot通过web页面动态控制定时任务的启动、停止、创建、删除等操作

    1.详细文档及源代码获取 文档地址:[链接] 2.页面效果 任务列表分页查询 任务创建 任务编辑 任务删除 任务启动 任务停止 详细开发技术文档尽在 点击这里查看技术文档 ;更多技术文章: [链接];任何疑问加QQ群咨询…

  17. 一张图告诉你为什么HTTPS是安全的

    在HTTPS出现之前,所有请求都是以明文方式送出的,那么如果有人在传输途中偷听或者抓包的话,你的所有通信内容都会泄漏。比较安全的方法是将通信内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。

  18. 性能优化小册 – React 搜索优化:防抖、缓存、LRU

    最近要对 react 项目做重构优化等相关的工作,由于有好长时间没碰 React 了,今天索性把一个基于关键字搜索的 demo 做一下简单优化,在此记录以下。

  19. vue实例的选项总结

    一、数据 API: https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E6%95%B0%E6%8D%AE 1. data 类型:Object | Function 限制:组件的定义只接受 function 详细:Vue 实例的数据对象。Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化。对象必须是纯粹的对象 (含…

  20. JavaScript重构技巧 — 数组,类名和条件

    点赞再看,养成习惯本文 GitHub [链接] 上已经收录,更多往期高赞文章的分类,也整理了很多我的文档,和教程资料。欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。

  21. 大声对webpack4.0说声你好之webpack的高级应用(四)

    再学了前三节之后,其实我们已经会对文件资源等进行一些打包,但是这些在大型项目中是远远不够的,那么我们在平时的配置中还会遇到什么难题呢? 我能学会什么 通过本节的学习,你可以学会 按需打包文件 区分线上环境与开发环境配置 Webpack 和 Code Splitting SplitChunksPlugin 配置参数详解 Laz…

  22. TypeScript 中的顶级类型:any 和 unknown

    作者:Dr. Axel Rauschmayer翻译:疯狂的技术宅 原文:[链接] 未经允许严禁转载 在 TypeScript中,any 和 unknown 是包含所有值的类型。在本文中,我们将会研究它们是怎样工作的。 TypeScript 的两种顶级类型 any…

  23. react组件—组件间通信

    Context 主要应用场景在于很多不同层级的组件需要访问同样一些的数据。请谨慎使用,因为这会使得组件的复用性变差。使用 context 比较好的场景是真正意义上的全局信息且不会更改,例如界面主题、用户信息等如果你…

  24. 前端问答整理

    圣杯布局和双飞翼布局都是三栏布局,左右盒子宽度固定,中间盒子自适应(固比固),区别是他们的实现的思想。 圣杯布局: <div id="header">#header</div> <div id="container"> <div id="center" class="column">#center</div> <div i…

  25. 来一手Flutter Web =-= 实现高德地图插件

    现组建了一个flutter的水友圈,有Android的混合开发及flutter分析,还有Dart语法详解等资料;可以从初始flutter到flutter进阶视频学习,包括flutter优化及开源实战,文末有进圈方式 1.调侃一下 以前写了一个功能简单的高德地图插件,当时支持了Android与iOS两端。前一阵子有一个 issue 问是否会支持Flutter Web,当…

  26. Flowable 工作流 Springboot vue.js 前后分离 跨域 有代码生成器

    特别注意: 本代码为 Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架: springboot 2.3.0+ Flowable 6.5.0+ mybaits+maven+接口 前端页面:html +vue.js 形式 jquery ajax 异步跨域 json 格式数据交互 前后分离,前后台分开部署 (特别注意,前端用的vue.js, 就是html页面引入vue.js…

  27. 这些前端基础题你能答对几道?(附答案解析)

    JavaScript中有很多重要特性及概念。比如原型,原型链,this,闭包,作用域,隐式转换等等。如果不能熟练掌握,在进阶中级前端开发工程师的道路上必定是困难重重。

  28. 小白分享:基于vue-cli从零搭建一个Vue项目-Vcharts

    导读:既然有兴趣,就手动搭建一个vue应用吧。所需相关环境依赖,项目中跟 java web 开发一样,需要引入依赖相关库(类似 jar 包)。譬如(UI组件- Element UI 、请求路由- Vue Router 、图形报表- VCharts 、视图模板引擎- jade 、样式组件- scss 等等),透过这次搭建认识到如何通过 npm 安装依赖所需依赖库,鉴于此,…

  29. Vue的MVVM实现原理

    相信只要你去面试vue,都会被问到vue的双向数据绑定,你要是就说个mvvm就是视图模型模型视图,只要数据改变视图也会同时更新!那你离被pass就不远了! 视频已录制,地址( www.bilibili.com/video/BV1qJ… ) 几种实现双向绑定的做法 目前几种主流的mvc(vm)框架都实现了单向数据绑定,而我所理解的双向数据绑定无非…

  30. 从零构建前端 Lint 工作流(2020手把手版)

    eslint prettier husky lint-staged typescript eslint-config-alloy 为构建项目代码质量保驾护航

  31. vue 3.x 如何高效学成?本文详解

    本文所分享的是关于 vue 3.x 在用法上的改变,而不是在代码实现上的不同。 虽然 vue2 到 vue3 的实现大改,但在用法上变化基本不大,比较明显的一个变化就是添加了 setup(){} 函数了,几乎所有的配置变成了以函数的方式进行定义。即使是这样,但小改动还是很多的。本文主要分享的是 vue 2.x 与 vue 3.x 之间一些常见…

  32. Angular Render2你了解吗?

    Render2 是angular中用于操作dom的 Angular做了封装,屏蔽底层差异,通用性更强。 不仅仅可以用于浏览器端, 还可以用于Server Side rendering, Web-Worker, mobile apps, and desktop apps等。 Render2之指令用法 setStyle、removeStyle # 定义指令 import { Directive, ElementRef, OnInit, Renderer2, …

  33. 从零开始的Flutter之旅: InheritedWidget

    往期回顾 从零开始的Flutter之旅: StatelessWidget 从零开始的Flutter之旅: StatefulWidget 在之前的文章中,介绍了StatelessWidget与StatefulWidget的特性与它们的呈现原理。 这期要聊的是它们的另一个兄弟Inher…

  34. Vuex源码阅读(一) new Vuex.Store()内部探究

    1. 前言 Vuex版本:3.4.0 Vuex仓库: https://github.com/vuejs/vuex Vux文档: https://vuex.vuejs.org/zh/guide/ 文章时间:2020-06-09 2. 执行顺序 首先看个简单的代码块: // store.js import Vue from ‘vue’; import Vuex from ‘vuex’; Vue.use(Vuex); let baseStore = new Vuex.Store({ state…

更多内容请关注公众号【前端开发博客】每日更新


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流