20191207 前端开发周报

在前端 Word 还能这样玩;关于Vue代码如何写的一些见解;vue+springboot前后端分离实现token登录验证和状态保存的简单实现方案;使用 JS 来动态操作 css ,你知道几种方法?;手写JS函数的call、apply、bind实现;前端API层架构,也许你做得还不够;面试重点:webpack;一周 GitHub 开源项目推荐:微软、字节跳动、腾讯、阿里巴巴

  1. 在前端 Word 还能这样玩前阵子听到公司运营的小姐姐们在抱怨,说在富文本编辑器中发布包含图片的 Word 文档时,图片和文本内容不能一起复制,每次她们都得分开处理,对于包含较多图片的 Word 时,她们处理起来很抓狂。目前她们所使用后…
  2. 使用 JS 来动态操作 css ,你知道几种方法?JavaScript 可以说是交互之王,它作为脚本语言加上许多 Web Api 进一步扩展了它的特性集,更加丰富界面交互的可操作性。这类 API 的例子包括WebGL API、Canvas API、DOM API,还有一组不太为人所知的 CSS API。
  3. 手写JS函数的call、apply、bind实现 之所以要写这篇,是因为曾经面试被要求在白纸上手写bind实现 结果跟代码一样清晰明确,一阵懵逼, 没写出来! 下面,撸起袖子就是干!~ 把call、apply、bind一条龙都整一遍!~~ call 定义与使用 Function.prototype.call(): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Glob…
  4. 前端API层架构,也许你做得还不够上午好,今天为大家分享下个人对于前端API层架构的一点经验和看法。架构设计是一条永远走不完的路,没有最好,只有更好。这个道理适用于软件设计的各个场景,前端API层的设计也不例外,如果您觉得在调用接口时还…
  5. 面试重点:webpack 熟练掌握Webpack的常用配置,能够自己构建前端环境,并进行项目优化; 001.谈谈你对webpack的看法: webpack是一个模块打包工具,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它可以很好地管理、打包开发中所用到的HTML,CSS,JavaScript和静态文件(图片,字体)等,让开发更高效。对于不同类型的依赖…
  6. 一周 GitHub 开源项目推荐:微软、字节跳动、腾讯、阿里巴巴 一周 GitHub 开源项目推荐 点击链接或图片即可阅读 喜欢请分享到朋友圈哦 微软 REST API 设计指南(英文) The Microsoft REST API Guidelines are Microsoft’s internal company-wide REST API design guidelines. Teams at Microsoft typically reference thi…
  7. 基于Vue-Cli3的Vue移动端企业级工程架构 本项目是基于Vue-Cli3脚手架,应用VW的自适应解决方案构建的移动端企业级工程项目,下面会一步步构建起项目结构。大家也可以先下载源代码下来看下,再跟着操作。 Author: Gavin 项目地址: github.com/PowerDos/vu… 演示 下面是一张自适应效果git图,比较大,需要耐心等待才能看到,或者直接下载图片查看效…
  8. 天了噜,为什么外链css要放在头部,js要放在尾部? 我们最开始学前端的时候都会看到教程在处理外部css,js的时候会将css放在header中,js放在body的最后。为什么要这样子处理,今天参考一些资料好好分析下。 为什么外链css为什么要放头部? 首先整个页面展示给用户会经过html 的解析与渲染过程。 而外链css无论放在html的任何位置都不影响html的解析,但是影响html…
  9. 拥抱云时代的前端开发架构:微前端 “首先必须明确微前端不是框架、不是工具/库,而是一套架构体系,它包括若干库、工具、中心化治理平台以及相关配套设施。”
  10. Vue.js 无限滚动列表性能优化方案 大家都知道,Web 页面修改 DOM 是开销较大的操作,相比其他操作要慢很多。这是为什么呢?因为每次 DOM 修改,浏览器往往需要重新计算元素布局,再重新渲染。也就是所谓的重排(reflow)和重绘(repaint)。尤其是在页面包含大量元素和复杂布局的情况下,性能会受到影响。那对用户有什么实际的影响呢? 一个常见的场景…
  11. Vue实现图片与文字混输 用多了 JQuery ,习惯了使用JQuery的API操作 DOM ,几乎忘记了原生JS对DOM操作,今天在项目中遇到了文字和图片混输的情况,第一个想到的办法是用 textarea 实现,结果发现实现不了图片输入,然后想着找个富文本编辑器的插件实现,深思熟虑之后,我的需求好像也没那么复杂,不至于引用个插件,看了 掘金 的发布沸点功能,…
  12. 分享一个 JavaScript 前后端系统 README.md pems A javascript full-stack power equipment management system. Demo Demo Address: Power Equipment Management System Account: admin/admin Screenshots Login Page …
  13. 前端自主导出excel、通过js调用后端接口下载表格文件(GET和POST方法) npm install sw_react_plug –save-dev; npm install; import { ExportExcel } from ‘sw_react_plug <ExportExcel fileName=xxx数据报表 column={columns} dataSource={data} /> 特别提醒: 这样直接引用会render一次就会加载从而下载,所以需要我们通过条件判断进而加载。eg: 1. 初始化int:status为0; 2. 点…
  14. 我们随手做的 git stash,究竟干了什么? git stash是程序员的至宝。老板 biangbiang 甩来一个 case,说这个要下班之前 hot fix,咋办,stash,切到 release 对应的分支,缝缝补补;产品 kuangkuang 砸来一个需求更新,说这个简单,小哥哥帮帮我先做了,咋办,stash 切一个新的 feature 分支,撸袖子干。如果没有git stash,人生至少要灰暗一半。 git …
  15. JavaScript 事件循环机制 学习笔记 概念: 进程是CPU资源分配的最小单位 线程是CPU调度得最小单位 浏览器内核 浏览器默认有三个进程: 一. 浏览器主进程(Browser进程) 作用: 负责浏览器界面显示,用户交互(前进、后退,关闭等) 负责各个页面的管理,如创建和销毁其它进程 将Render进程中得到的内存中的bitmap,绘制…
  16. css+js相关笔记 作者: 故事我忘了 c 个人微信公众号: 程序猿的月光宝盒 css部分: 1.内联元素垂直居中的设置: (1) 设置父级元素的行高 line-height,和高度 height ​ 原则:line-height=height (2) 再设置内联元素的 ​ vertical-align: middle 2.页头,页尾拼接 通常在开发中,都会有公共的页面部分(不只是…
  17. Vue面试题以及实际项目中遇到的坑 之前有提到,在经历了前端转型之后,一场技术变革的到来,小程序,h5移动端,对性能优化的要求越来越高,受面向对象思想编程方式的影响,前端现在主流的技术框架就是Vue,React,Angular.他们的数据驱动模式,MVVM模式,很受欢迎,这种spa单页面应用,组件思维对一个庞大的web应用很有帮助提升加载速度,减少Dom操作,随之…
  18. javascript之深度学习 以下是关于深度学习之javascript系列的目录,原书来自于 livebook.manning.com/book/deep-l… ,我将周期性不定时进行中文翻译本的加载,对 machine learning with javascript 有兴趣的天使们可以关注我,咱们一起学习并讨论,让我们共同来探寻智能与前端连接点,帮助前端迈进智能化时代~ 1.简介篇:深度学习和javasc…
  19. JS精进系列之你必须知道的对象操作(包含最新特性optional chaining) 2019年8月的已经进入stage3的提案 optional chaining非常的nice, 它改变了我们访问深层次对象的方式。 在我们业务开发中, 遇到的最常见的复杂数据类型是 ___。 答案: 对象 (plain object) 无论是restful API获取服务端JSON数, 或者是配置, 再或者是初始化时候的optional属性, 都是一个复杂的对象, 里面…
  20. 互联网技术都应该了解的一种数据格式:JSON 上篇我们讲解了JSON的诞生原因是因为XML整合到HTML中各个浏览器实现的细节不尽相同,所以道格拉斯·克罗克福特(Douglas Crockford) 和 奇普·莫宁斯达(Chip Morningstar)一起从JS的数据类型中提取了一个子集,作为新的数据交换格式,因为主流的浏览器使用了通用的JavaScript引擎组件,所以在解析这种新数据格式时就不…
  21. 分享 GitHub 上有趣、入门的开源项目:《HelloGitHub》第 44 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣、入门级的开源项目。 这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是…
  22. 现代前端库开发指南系列(一):融入现代前端生态本系列文章主要介绍如何在现代前端生态下,创建一个工业级别的库。近几年来,前端工程化、模块化、组件化的大潮铺天盖地而来,在解决以往的架构痛点之余,却又产生了信息过载的问题;我希望通过分享自己的经验,…
  23. js基础——错误处理 一:错误捕获 1.try-catch 语句(错误捕获) try{   //这里放置可能出现问题的代码 }catch(error){   //错误发生时执行的代码   console.log(error.name) //打印错误类型   console.log(error.message) //打印错误消息 } 说明:如果try中的代码出现任何错误,就会立即退出代码执行过程,接着执行ca…
  24. Node.js在控制台彩色输出的方法及原理 本文首发于本人博客 Node.js在控制台彩色输出的方法及原理 ,欢迎大家访问:kissing_heart: 我们都知道,在nodejs环境下使用普通的 console.log , console.error , console.info 输出都是不会有颜色的,如果你不知道,那你现在知道啦:smirk:。在这种情况下,如果我们需要彩色输出,则通常通过 chalk 这个node模块来实…
  25. 我和前端的猿粪,了解一下我眼中的前端 作为一个自学前端的靓仔(小白),最开始在我的世界中是没有前端这个概念的,相当长一段时间内,我一直把前端称之为「做网站」,是不是有点飘? 1、我眼中的前端 点进来了这篇文章,应该会对前端稍微有那么一点点了解。 高大上一点说: 我所见,我所得,皆为前端 ;大白话: 嗯,就是“做网站”的 。至于专业…
  26. 前端 JavaScript 错误异常处理指北 在前端的 JavaScript 开发中,发现开发者对于错误异常的处理普遍都比较简单粗暴,如果应用程序中缺少有效的错误处理和容错机制,代码的健壮性就无从谈起。 本文整理出了一些常见的错误异常处理的场景,旨在为前端的 JavaScript 错误异常处理提供一些基础的指导。 Error 对象 先来简单介绍一下 JavaScript 中的 Error…
  27. JS面试点-浅拷贝和深拷贝 前言 在 JavaScript 中,我们将数据分为 基本数据类型(原始值) 与 引用类型 基本数据类型的值是按值访问的,基本类型的值是不可变的 引用类型的值是按引用访问的,引用类型的值是动态可变的 var zxx = 100; var zxx1 = 100; console.log(zxx === zxx1) // true var zxx2 = {a: 1, b: 2}; var zxx3 = {…
  28. 宋小菜团队基于 Egg 的 Nodejs 的服务框架架构实践 Node 的工具化价值自不多言,而服务化价值需要长期探索,小菜前端在服务化路上依然是小学生,目前的尝试是是 Cross 框架,尝到了一些甜头。 我想,几乎没有前端工程师会对 Node 不感兴趣,但用它适合干哪些事情,每个人的答案都不同了,比如小菜前端,我们对于 Node 的深度尝试,可以在这里找到答案:《技…
  29. 轻松理解webpack热更新原理 Hot Module Replacement ,简称 HMR ,无需完全刷新整个页面的同时,更新模块。 HMR 的好处,在日常开发工作中体会颇深: 节省宝贵的开发时间、提升开发体验 。 刷新我们一般分为两种: window.location.reload() WDS (Webpack-dev-server) HMR 作为一个 Webpack 内置的功能,可以通过 HotModuleReplacementPlu…
  30. 深入理解JavaScript之执行上下文和变量对象 继续接着上篇文章,上篇我们说到函数上下文的结构可表示为 const ExecutionContextObj = { VO: window, // 变量对象 ScopeChain: {}, // 作用域链 this: window }; 复制代码 即每个函数上下文,都要有这三个重要属性: 变量对象(Variable object, VO) 作用域链(Scope chain) this 今天再细…
  31. JavaScript 是怎么工作的:内存管理及怎么处理四种常见的内存泄露 几个星期前,我们开始了一个系列,旨在更深入地研究 JavaScript 及其实际工作原理:我们认为,通过了解 JavaScript 的构建块以及它们如何协同工作,您将能够编写更好的代码和应用程序。 本系列的第一篇文章重点介绍了 引擎、运行时和调用堆栈的概述 。第二篇文章仔细研究了谷歌的 V8 JavaScript 引擎的内部部分 ,也提…
  32. 前端工程师吐后端工程师(第五讲)——包管理工具NPM和Go get 在我们做前端时候,很少会有人做需求的时候上去就什么脚手架都不用直接裸写,基本都会找个所谓的框架,比如三大框架:Angular、Vue、React。所以在做Go的时候我们也不会裸写,需要选个Go的框架。 对比了一下,现在盛行的Go框架,选择了Gin。Gin是一个golang的微框架,API比较友好,源码注释文档非常优秀,具有快速灵活…
  33. 你可能不知道的15个 Git 命令Git 有时可能会令人生畏。因为有太多的命令和细节需要学习。不过虽然文档的内容很多,但阅读起来还是很轻松的。一旦你克服了最初不堪重负的感觉,就会感觉到有明显进展。以下是你可能还不知道的 15 个 Git 命令的…
  34. javascript学习记录(二)之前的学习记录来源于一本较老的教材,老到见不到html5的身影。最近换了一本教材——JavaScript DOM编程艺术(第2版),所以这一篇博客更新一下基础的语法。
  35. 这是一篇关于JavaScript原型知识的还债帖 本人从事前端开发的工作三年有余,我要向你坦白,时至今日我对JS原型仍然是一知半解,当年的校招面试关于JS原型都是“临时抱佛脚”,死记硬背混过去鸟~ ~。 在日后工作中,我已熟练的使用 Function 去封装类,使用 mixin 去丰富类,使用 new 去实例化我钟意的对象(单身狗的悲哀),然而却忘了它们背后蕴含的原理。 痛…
  36. 对比 React Hooks 和 Vue Composition API 原文:https://dev.to/voluntadpear/comparing-react-hooks-with-vue-composition-api-4b32 Vue 最近提出了 Composition API RFC,一种新的书写 Vue 组件的 API;该 API 受到 React Hooks 的启发,但有一些有趣的差异,也就是本文要探讨的内容。该 RFC 始自于在社区某些部分受到 大量非议 的之前一个叫做 Funct…
  37. 性能分析(一)前戏:用 rollup 打包一个 js-sdk 在开启这个篇章之前,我决定先开一篇来讲一下 rollup ,毕竟干活嘛,前戏要足。 做一个抉择, rollup vs webpack webpack 于 2012 年由 Tobias Koppers 创立,旨在解决现有工具无法解决的难题:构建复杂的单页应用程序(SPA)。特别是两个功能对后期产生了很大的影响: Code-splitting,通过代码拆分,可…
  38. React & Vue的组件通信 组件之间的通信是面试中极为常见的问题,也是在实际工作中会经常遇到的问题,所以今天来总结一下关于组件通信方面的知识点。 父子组件通信 父 -> 子 Vue props: 父组件向子组件传递数据,同时可以限制传递数据的类型。 ref: 父组件访问子组件的实例,可以调用子组件的属性和方法。 React props: 父组…
  39. 为Vue添加简单的Store 前言 没错,我又来水文章了,Vue的简单Store其实比React的简单Store更早就制作好了并已用在了XK-Editor@1.3.0上,只是没有写到博客上而已,这次正好写了React的简单Store,顺便就把Vue的也补上。至于为什么要用Store或者为什么不用Vuex,其实和React的差不多,这里就不说了,如果不了解可以移步上一篇 为React添加简…
  40. 让我们来写个 webpack 插件 扫码或点击链接查看完整 Slides 时至今日,webpack 已成为前端打包工具链中不可或缺的一环,如若只是配置使用,那么了解到如下几类即可满足大部分需求: Entry:入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。 Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpa…
  41. 不容错过的 Babel7 知识不过呢,还是想更进一步了解下,于是最近认真阅读了 Babel 的文档,外加不断编译验证,输出了本篇文章,为了更好的阅读体验,修修改改,最终算是以我个人比较喜欢的方式推进了每个知识点(每一个配置的引入都是有…
  42. 微软发布新版本开源工具集 PowerToys,入选 GitHub Trending 日榜12 月 3 日,微软在 GitHub 上将开源软件工具集 PowerToys 更新到了 0.14 版本,继续针对工具集中的全窗口管理器 FancyZones 与批量重命名文件工具 PowerRename 进行改进及修复错误。PowerToys 项目也入选了 GitH…
  43. Go 号称几行代码开启一个 HTTP Server,底层都做了什么? 点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言 前言 对于Golang来说,实现一个简单的http server非常容易,只需要短短几行代码。同时有了协程的加持,Go实现的http server能够取得非常优秀的性能。这篇文章将会对go标准库net/http实现http服务的原理进行较为深…
  44. 复用 JavaScript 测试用例 本文主要讲述在增加测试用例有效性的同时,降低测试用例的开发成本。 原文链接: Reusing JavaScript Tests 大多数人都觉得写测试用例实在是太难了~ :triumph: 首先思考一下我们为什么会需要测试用例呢? 代码定义了一组执行特定操作的指令。下面这个函数被视为执行定义明确的数学运算: y = a + b…
  45. 美团外卖前端容器化演进实践 总第372篇 2019年 第50篇 提单页在美团外卖交易链路中非常重要,但随着业务不断发展,提单页模块越来越多,逻辑的耦合也越来越重。为了解决这一问题,需要实现提单页的动态化,而动态化是需要基于容器来实现,所以,美团外卖技术团队提出了提单页的容器化方案。希望本文对同样深受此问题困扰的…
  46. (译)JavaScript的工作原理:事件循环和异步编程的兴起 + 5 种 async/await 更好的编码方式 欢迎阅读该系列文章的第4部分,该文章专门探讨JavaScript及其构建组件。 在识别和描述核心元素的过程中,我们还共享一些在构建 SessionStack 时使用的经验法则, SessionStack 是一个 JavaScript 应用程序,必须强大且高性能确保竞争力。 您是否错过了前三章? 您可以在这里找到它们: An overview of the eng…
  47. Git 常见问题及解决办法 Git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于 2005 年以 GPL 发布。最初目的是为更好地管理 Linux 内核开发而设计。经过多年发展,如今已成为绝大多数软件开发版本控制的首选工具,掌握它能使得我们更加高效工作;这里收录了一些 Git 常见问题及解决办法,以供各路朋友遇到时候可以参考。 如何…
  48. JavaScript 中的数据结构:写给前端软件工程师 原文链接: Data Structures in JavaScript: For Frontend Software Engineers 作者:Thon Ly 前言 随着越来越多的业务逻辑从后端转移到前端,前端工程中的专业技能变得愈发重要。作为一名前端工程师,我们可以依靠类似 React 一样的视图类框架来实现高效的产出。但视图框架反过来又依赖类似 Redux 这样的状态管…
  49. jQuery带滑杆的图片播放器 滑动十分流畅源码 互联网的那些破事的微博视频
  50. vue-cli3配置webpack,htmlWebpackPlugin 项目上线后需要添加到百度搜索引擎,如何添加到百度搜索引擎参照https://jingyan.baidu.com/article/fc07f989c34dbb52ffe519a3.html。 重点是需要在html中添加一个meta,于是我就直接添加了 <meta name="baidu-site-verification" content="sxe4OW9kxm" /> 复制代码 然后问题出现了,在百…
  51. git工作开发总结【干货】官方解释:Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  52. vuex的源码一些理解 学习Vue有一段时间了,感觉对于Vuex总是停留在一知半解的状态,决定花点时间好好学习研究下Vuex的实现。Vuex的设计思想,借鉴了Redux将数据存放到全局的store,再将store挂载到每个vue实例组件中,利用Vue.js的数据响应机制来进行高效的派发和状态更新。 <h2>开始前的准备</h2> 个人觉得有必要理解这几…
  53. 【vue-进阶】之vue-router源码分析 这是一篇集合了从如何查看 vue-router 源码(v3.1.3),到 vue-router 源码解析,以及扩展了相关涉及的知识点,科普了完整的导航解析流程图,一时读不完,建议收藏。 如何查看vue-router源码 查看源码的方法有很多,下面是我自己读vue-router源码的两种方法,大家都是怎么查看源码的,欢迎在评论区留言。 查看vue…

关注github前端日报 订阅精彩文章

前端日报栏目数据来自码农头条,每日分享互联网上热门的前端开发、移动开发、设计、资源和资讯等,为开发者提供动力,如果觉得内容对你有用,记得分享给你的小伙伴。进入码农头条查看更多


关注我

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

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

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