20190621 前端开发日报

前端黑科技结合Vue 如何让首页秒开;来试试这个用 Vue 撸的数据可视化后台吧;一行css代码搞定响应式布局;经常被面试官问道的JavaScript数据类型知识你真的懂吗?;服务器发布Vue/Nuxt项目指南(图文版本);我所理解的promise;你真的了解 JavaScript Array#sort 吗?;混子前端所知道关于ES6的Promise

  1. 前端黑科技结合Vue 如何让首页秒开 文/北妈 阅读本文需要 3.2 分钟   一 前端性能优化一直是衡量一个团队和一个前端的各方面水平,呈现快速的加载,是给人最直观,成就感也最足的一个感受,而且对用户体验是第一重要的概念,所以这个相当重要,今天北妈就来结合美团的实践方案来讨论一下。 其实文中的很多方案,我和我团队也早在实…
  2. 来试试这个用 Vue 撸的数据可视化后台吧 国际惯例:项目Github地址,欢迎 Star dongsuo/vue-data-board 首先放个线上地址大家感受一下(由于后端用的是 leancloud 的免费套餐,因此可能会比较慢): vue-data-board P.S. 建议大家尽量自己注册一个账号(可以随便填一个密码),如果用默认的测试账号,不要乱改东西,否则别人进来就没得看了,因为你做的…
  3. 一行css代码搞定响应式布局在这篇文章中,我将教你如何使用 CSS Grid 来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量。最精彩的地方在于:所有的响应特性被添加到了一行 css 代码中。这意味着我们不必将 HTML 与丑陋的类名…
  4. 经常被面试官问道的JavaScript数据类型知识你真的懂吗? 之前面试了几个开发者,他们确实做过不少项目,能力也是不错的,但是发现js基础不扎实, 于是决定写一下这篇javascrip数据类型相关的基础文章,其实也不仅仅是因为面试了他们,之前自己在面试的时候,也曾经被虐过,面试官说过的最深刻的一句话我到现在都记得。 基础很重要,只有基础好才会很少出 bug ,大多数的 bug …
  5. 服务器发布Vue/Nuxt项目指南(图文版本) 很多前端朋友可能不是那么了解服务器配置。今天突然翻到之前写的这篇文章,修改完善了之后分享给大家一些常见的的Web服务器部署项目的方式。 写在前面 下面讲的每一种服务器深入进去都很复杂,在这篇文章 只是讨论一下基本的部署和使用 。更高级的知识和用法还需要各位朋友自行去探索和发现, 开始阅读之前希望大家…
  6. 我所理解的promise   虽然项目中一直在用到promise,虽然以前也学习过promise,但是对于promise真的是没有很好的学以致用,有时候看到别人用promise的时候也是一脸懵逼,所以就决定花点时间再来好好研究一下promise到底是什么?应该怎么样用? 1、什么是promise?   Promise 是异步编程的一种解决方案,使得执行异步操作变得像同步操…
  7. 你真的了解 JavaScript Array#sort 吗? 本文主要讲解 javascript Array#sort 的两个方面:排序原理和排序算法。 排序原理 根据MDN文档,javascript Array#sort 默认是按照字符的UTF-16编码字典序排序,数组中的数字在排序的时候会被转换成字符,所以就会产生如下结果: const myArray = myArray.sort() // [ 2, 25, 33, 4,…
  8. 混子前端所知道关于ES6的Promise Promise是异步编程的一种解决方案,比传统的解决方案 更合理也更强大。 Promise的含义 混子前端认为 Promise 简单来说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。 Promise对象有以下两个特点: 对象的状态不受外界影响: Promise代表一个异步…
  9. 【vue源码解析】render到底做了什么? render的作用 render函数可以作为一道分割线,render函数的左边可以称之为编译期,将Vue的模板转换为渲染函数。render函数的右边是Vue的运行时,主要是基于渲染函数生成Virtual DOM树,Diff和Patch。 render渲染函数将结合数据生成Virtual DOM的。 有了虚拟的DOM树后,再交给Patch函数,负责把这些虚拟DOM…
  10. [JS必知必会]原型链这么看好像并不难 对象着手 在谈原型链之前,先了解对象。 所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型) 所有函数拥有prototype属性(显式原型)(仅限函数) 原型对象:拥有prototype属性的对象,在定义函数时就被创建 prototype与__proto__两个概念 prototype:此属性只有构…
  11. 造轮子:简易 http2 拨测工具 (Golang) 最近需要进行http2相关的工作,但是开发环境和测试环境都的curl版本都太老了不支持http2,正好最近在学习golang,于是决定自己造个轮子:用go语言实现一个建议的http2客户端,以本文记录折腾过程。完整代码地址:https://github.com/yiekue/gh2c. 涉及内容: flag包的使用 …
  12. 为什么 VS Code 会迅速占领 JavaScript 开发者社区 首先,为了避免与微软的 Visual Studio IDE 发生混淆,这里先说明一下,Visual Studio Code(也即 VS Code)是一款轻量级的编辑器,类似 Atom 或 Sublime Text。它的采用量节节攀升,迅速占领了开发者市场! 2015 年,微软推出了 VS Code 的第一个版本。在第二年的 Stack Overflow 开发环境调查报告中,它只有 7.2% 的…
  13. 学习 Node.js,第 10 单元:使用 Winston 和 Log4js 记录 Node 应用程序 运行服务器端应用程序时,会发生很多事件,其中大多数事件都会写入日志文件中。日志文件可能是磁盘上文件的集合,也可能是数据库中的一系列记录。无论是哪一种情况,将诊断信息写入日志的做法都称为 日志记录 。 Node.js 学习路径 本教程是 Node.js 学习路径的一部分。这些单元彼此互为基础,查看 学习 Node….
  14. 前端项目中常见的 CSS 问题快速摘要:近年来,跨浏览器的渲染和交互已经愈加一致。不过,它仍然没有达到完全一致,有很多小问题会让你出错。除了这些问题之外,还有不同的屏幕尺寸、语言偏好和明显的人为错误等不确定因素,我们从中发现了…
  15. 10个流行的JavaScript面试题JS 初学者总是对 this 关键字感到困惑,因为与其他现代编程语言相比,JS 中的这this关键字有点棘手。 “this” 一般是表示当前所在的对象,但是事情并没有像它应该的那样发生。JS中的this关键字由函数的调用者决定…
  16. 百度 HTTPS 部署实践 前言 在百度准备进行HTTPS站点部署之前,网上介绍HTTPS的文章并不多,更鲜有分享在大型互联网站点部署HTTPS的实践经验,我们在考虑部署HTTPS时也有重重的疑惑。本文将为大家介绍百度进行HTTPS部署的实践和一些权衡,希望以此抛砖引玉。 协议层以外的实践工作 1全站覆盖HTTPS的理由 …
  17. JavaScript 原型链之最易理解分析 注:在本文中把xx.prototype引用的对象称为原型对象,Object、Function等称为函数类型对象,[]、{}、function(){}、12等称为实例对象。 我们知道Javascript是基于原型的函数式的面向对象语言,基中的原型、函数式是Javascript与Java等类似语言不同的地方,而Javascript又是动态的解释性脚本语言,所以语法上比较…
  18. webpack打包方案优化 优化方案 ● vendor.js为整个工程依赖的基础包,工程依赖不会经常变动,所以不需要每次都重新加载,需要生成稳定的chunkId和moduleId,并且搭配http响应头ETag实现协商缓存。 ● 异步chunk的依赖并不会打包到vendor.js,如果需要可以将依赖在webpack的entry入口文件中通过import引入(或者webpack配置如下)。 entry…
  19. vue router的总结–$router和$route 1 this.$router和this.$route的区别 this.$router是VueRouter的实例方法,当导航到不同url,可以使用this.$router.push方法,这个方法则会向history里面添加一条记录,当点击浏览器回退按钮或者this.$router.back()就会回退之前的url。 this.$route相当于当前激活的路由对象,包含当前url解析得到…
  20. JavaScript系列之变量对象 JavaScript编程的时候总规避不了声明变量和函数,但是解释器是如何并且在什么地方去查找这些变量和函数呢?接下来,再延续上一篇 《JavaScript系列之执行上下文和执行栈》 ,通过对变量对象(Variable Object)的介绍对执行上下文有一个更深一步的了解。 上一篇文章也提到了,一个执行上下文的生命周期可以分为三个阶段…
  21. Vue动态表单 —— vue-dynamic-form2 背景 前不久,我在github上开源了一个业务工作中沉淀出来的工具 app-info-parser ,然后就有了半夜三四点回复issue邮件、修bug的爽歪歪体验,虽然上完班还要处理issue挺累的,但是也算乐在其中。 俗话说得好,开源一时爽,一直开源一直爽,所以我又来了 -。- 我所在的小组主要负责公司的公共服务搭建,组内有不…
  22. Typescript 精彩履历 本章节和后续章节都以 Typescript 的口吻自述,就是这么自信(自恋)。 兵法云:知己知彼,百战不殆(语出《孙子·谋攻篇》)(一个前端开始聊兵法,瞎搞,凑字数)。引用此主要想说,要用我就先看看我漂亮的履历吧。 自我介绍 我是 Microsoft 公司注册商标(来头大,后台硬)。 我是 JavaScript 的一个超集…
  23. Vue 源码剖析 —— 对象变化侦测 当应用在运行时,内部状态是会不断变化的。而对于 web 应用而言这会直接导致页面不停的重新渲染。那么如何通过状态变化确定具体要重新渲染哪个部分呢?在 MVVM 框架出现之前,大多数时候都需要手动去创建并维护数据与显示层的联系,随着应用的复杂度提高,内部状态和 UI 的联系变得错综复杂,难以维护。前端 MVVM 的框架…
  24. vuex对ts的支持太弱?一个让 vuex 更好的支持 typescript 的解决方案 传统 vuex 编码让人觉得麻烦的一点就是 state、getters、mutation、dispatch 在调用时无法获得编辑器的智能提示,必须切换文件去查找。本以为用上 typescript 后这个问题可以得到解决,却发现vuex官方提供的types并没有那么强大… 在找寻了一会儿各种解决方案后,觉得都存在这样或那样的问题(类型需要重复定义、侵入…
  25. Vue 动态添加路由及生成菜单写后台管理系统,估计有不少人遇过这样的需求:根据后台数据动态添加路由和菜单。为什么这么做呢?因为不同的用户有不同的权限,能访问的页面是不一样的。在网上找了好多资料,终于想到了解决办法。
  26. 一个简单案例教你如何用Typescript写Vuex 相信很多人都像我一样,学习使用了 vuex 后,想把项目改写成 Typescript 。但是官方教程要么晦涩难懂,要么缺少鲜活的例子。我花了一天时间,总结出了一些经验。在此分享出来。 本教程通过编写一个简单的demo讲解 vuex 的实现方式,以及如何对基于 vue2.x 的已有项目进行Typescript重构。 项目初始化 现在都9…
  27. 听说你在从事前端开发?那这10个JavaScript的优化问题你不得不知道 JavaScript的高效优化一直都是我们前端开发中非常重要的工作,也是很多开发人员无法做好的一部分内容,今天我总结了10个优化问题,大家可以参考来做优化,这其中很多问题都是大家经常遇到的哦。 ==和===的区别 应避免在if和while条件选择语句中的条件判断部分进行赋值,如if (a = b),应写成if (a == b),…
  28. webpack入门学习笔记03 —— 自定义脚本,帮助项目管理 经过前两章博客的基础讲解,我们知道如果想要打包编译项目,可以执行 npx webpack 命令,然后webpack就会根据配置文件 webpack.config.js 来对项目进行打包编译。但是现在我们可能遇到以下需求: webpack的配置文件不要叫做webpack.config.js,而是叫做 webpack.config.allen.js 每次打包编译的时候,都…
  29. 前端项目之vue分环境打包 前端项目部署的环境往往是多环境的,最熟悉的例如:测试环境,生产环境。不同的环境下往往api接口的域名地址是不同的,那麽就会存在一个问题,不同环境下项目打包部署前都需要我们去手动更改域名地址,岂不是很麻烦,甚至会出现忘记更改或者关系搞反的情况,那怎么办呢?莫慌,今天就来唠唠vue分环境打包这些事。 vue-cli 2.x 分…

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

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


关注我

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

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

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