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