20200112 前端开发日报

前端知识点:js 动画原理;Vue移动端开发总结;vue 下评论实现@ mention提及功能;Electron+Vue 一路踩坑;2020年从基础到进阶,测试你有多了解 JavaScript,刷新你的知识;webpack proxy 使用(代理的使用);Vue3之 Composition API 对比Vue2.x用法;vue离开当前路由时,若有未保存数据,提示用户是否离开?

  1. 前端知识点:js 动画原理 前言 动画是一个创造运动假象的过程。几乎所有的投影运动媒体都采用帧实现运动。—— 《HTML5+JavaScript动画基础》 相关知识 静态动画和动态动画 静态动画 我们知道,投影动画由一帧帧的图像切换而得到,而每一帧的内容是事先已经存在的,不可变的。 这种动画不会与用户产生交互效果(你关闭电源,动画暂停不...
  2. vue移动端开发总结 相对于PC端来说,移动端设备分辨率百花齐放,千奇百怪,对于每一个开发者来说,移动端适配是我们进行移动端开发第一个需要面对的问题。 在移动端我们经常可以在head标签中看到这段代码: <meta name='viewport' content='width=device-width,initial-scale=1,user-scale=no' /> 复制代码 通过meta标签对view...
  3. vue 下评论实现@ mention提及功能 原生的textarea是不能换行自适应高度的,所以有2种方案 textarea js 实时计算高度 div contenteditable="true"模拟一个textarea。但需要模拟placeholder 一开始我是使用的textarea js 计算高度(微博就是这种方式), 但是产品要求; 评论框要@他人,并且颜色高亮。 找了个插件 vue-tribute ...
  4. Electron+Vue 一路踩坑 看这篇博客,默认你已经基本了解Electron和Vue,至少知道是什么,干什么用的。最近有一个项目,需求方要一个单机版的信息管理系统(就是可以运行exe可执行文件来操作系统),可选的方案有QT,但是QT不太会,之前未曾接触,而且C++已经忘得差不多了,所以想到了Electron打包成exe可执行文件的方案。在网上查询发现,Elect...
  5. 2020年从基础到进阶,测试你有多了解 JavaScript,刷新你的知识 function sayHi() { console.log(name) console.log(age) var name = 'Lydia' let age = 21 } sayHi() 复制代码 A: Lydia 和 undefined B: Lydia 和 ReferenceError C: ReferenceError 和 21 D: undefined 和 ReferenceError 答案 答案: D 在函数内部,我们首...
  6. webpack proxy 使用(代理的使用) 跨域 在开发过程中, 我们的开发环境一般都是 http:// localhost , 但是如果需要请求的数据不在本地, 那么我们就需要面对一个跨域请求的问题. 众所周知, 因为浏览器的安全协议, 我们是无法直接进行跨域请求的. 代理就是为了解决这个问题, 当然了你也可以使用 jsonp 和 nginx 反向代理. 如何进行代理 webpack...
  7. Vue3之 Composition API 对比Vue2.x用法 前言 根据Vue官方 RFC文档 来看,Vue3借鉴React Hook的思想,进行了更新。将 2.x 中与组件逻辑相关的选项以 API 函数的形式重新设计。我在看完 RFC文档 之后,也是感叹Vue3,真香!接下来和大家一起分享一下,Vue3的新API的用法,以及对比Vue2.x的优势。 基本例子 import { value, computed, watch, onMounted } f...
  8. vue离开当前路由时,若有未保存数据,提示用户是否离开? 作为一名专业的产品经理,肯定会有这样的需求。当用户正在编辑表单,一个不小心点到了其他路由,眼看着要离开,他到底是发自内心想放弃,还是手滑?所以弹个提醒问问他,这是你真实意愿吗?(如果微博点赞也有确认框,那娱乐圈的各位大大们就没有手滑声明了( ̄︶ ̄)/ ) 场景二:当从有分页器和筛选条件...
  9. 认识js中的void操作符 void是一元运算符,出现在操作数的左边,操作数可以是任意类型的值,void右边的表达式可以是带括号形式(例如void(0)),也可以是不带括号的形式(例如void 0) 示例1 console.log(void 2 - 1); //返回NaN console.log(void (2 - 1)); //返回undefined 复制代码 void运算符的优先级比较高,高于普通运算符优先级,...
  10. 仿照Vue实现模板与数据的绑定 拿到模板 let tmpNode = document.querySelector('#root'); 复制代码 拿到数据 let data = { name:'张三', age:'24' } 复制代码 将数据与模板结合 使用递归实现 匹配 {{ xxx }} 的正则 let reg = /{{(.+?)}}/g; // . 匹配除换行符以外的其它任意字符, () 组的意思,g 全局匹配 function compiler(...
  11. 前端三分天下到四强争霸?神奇的svelte 因为本人水平有限,有什么问题或错误大家也可以去我 博客 指正,谢谢。 简介 更少的代码 无Virtual DOM 真正的响应式 Svelte是一种构建用户界面的全新方法。传统框架(如React和Vue)的大部分工作是在浏览器中完成的,而Svelte将这些工作转换为编译步骤,这在构建应用程序时发生。...
  12. 看完这篇HTTP,跟面试官扯皮就没问题了我是一名程序员,我的主要编程语言是 Java,我更是一名 web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。
  13. 如何实现Vue组件化 组件化是一门艺术,如何用好组件化优雅的实现页面,是每个前端开发的必修课,最近学了vue组件化的相关课程,本文就对常用的vue组件化技术的进行总结整理。 父子组件通信 父组件向子组件通信 属性prop //父组件 <HelloWorld msg="Welcome to Your Vue.js App"/> //子组件 props: { msg: String } 复...
  14. 面向开发人员的十大 NodeJS 框架Node.js 是基于 Chrome V8 javascript 引擎构建的开源、跨平台运行时环境。事件驱动的非阻塞 I/O 模型使 NodeJS 框架 能够开发极其轻便且高效的 Web 应用程序。
  15. vue源码阅读(六):diff 算法 在 vue 中,首先是将模板编译成 虚拟DOM ,然后再将 虚拟DOM 转为 真实的DOM 。当我们的页面有更新时,仅仅是改变了很小的一部分,要去替换整体旧的 DOM 的话,势必会影响性能和用户体验的。所以 vue 中使用 diff 算法来优化 DOM 的更新渲染。 createPatchFunction 在将虚拟 DOM 转为真实 DOM 中,有一个很重要的...
  16. 简单实现一个vue-routeVue Router 是 Vue.js 官方的路由管理器。在早期的时候html模板存在服务端,然后根据浏览器输入不同的路径,服务端会根据不同的路径渲染不同的模板出来,这样的痛点就是用户每次操作的时候都要重新刷新页面,比如...
  17. 【JavaScript--365】版本管理工具Git & 压缩打包工具Gulp 概念 Git 是一个 分布式版本控制软件 ,与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。 版本管理的发展 CVS-->SVN-->GIT CVS阶段弊端: 每一次提交都会提交所有的文件 ,造成服务器压力--完...
  18. 从 Web 2.0 到 Web 3.0 本文为Cdot Network创始人& Random Capital合伙人刘毅,在万向区块链蜂巢学院第十二期活动“技术改变世界:即将到来的Web3.0时代”上的演讲内容《从Web2.0到Web3.0》。 Cdot Network创始人刘毅 大家下午好,我今天讨论的题目是《从Web2.0到Web3.0》。什么是Web3.0...
  19. JS执行环境(执行上下文 ) ES3版本 执行环境(execution context) 中的 context 有着上下文和环境两层含义。 在JS中,对象是一个 存储系统 ,是一系列键值对的集合,通过某个键也就是属性名,可以引用到它的值。这些值可能是普通的字符串或数字,也可能是对象。如果是 函数对象 ,那么可称为该对象的方法。而JS中的 函数是一个执行系统 ,函数可能是...
  20. 里程碑式 Dubbo 2.7.5 版本发布,性能提升 30%,支持 HTTP/2、TLS、Protobuf 等特性 作者简介:刘军,GitHub账号Chickenlj,Apache Dubbo PMC,项目核心维护者,见证了Dubbo从重启开源到Apache毕业的整个流程。现任职阿里云云原生应用平台团队,参与服务框架、微服务相关工作,目前主要在推动Dubbo开源的云原生化。 近日,备受瞩目的 Apache Dubbo(以下简称 Dubbo)2.7.5 版本正...
  21. 有趣的Nodejs模块之events 读了 events 模块的文档,研究了几个有意思的问题: ️ 事件驱动模型 ️ 优雅的错误处理 ️ 监听器器队列顺序处理 ️ 内存管理与防止泄漏 引用/转载 请声明出处: 原文链接: xxoo521.com 事件驱动模型 Nodejs 使用了一个事件驱动、非阻塞 IO 的模型。 events 模块是事件驱动的核心模块。很...
  22. JS操作小技巧,工作简单了(二) 场景:页面月和日的显示,需要用0或者其他字符占位。 var number = 11; ('0' + number).slice(-2); 复制代码 2、千分位划分 场景:页面展示金额,进行位数划分。 const AmountSlite = (value) => { const regExp = /(d{1,3})(?=(d{3})+(?:$|.))/g; const ret = (value + '').replace(r...
  23. 使用 nodeJs 实现 js/ts 文件翻译功能 关于实现翻译(以中翻英为例)的功能,我们可以分成几个步骤: 读文件 找出文中的中文 将文中的出现的中文词组或者句子组成一哥数组 调用公共的翻译接口进行异步翻译 将翻译出来的英文回填会文件中 一、搭建环境 打开终端,键入: node -v 如果出现 -bash: node: command not found 说...
  24. 前端必看的js对象深拷贝方法 前言 为什么js对象的赋值有时候需要进行深拷贝? 首先js的数据值按照类型主要分为两大类, 基本数据类型 和 引用数据类型 。基本数据类型包括Undefined、Null、Number、String、Boolean、Symbol;引用数据类型则为Object,那些Array、Set、Map数据也属于Object。 然后接下来,看一个非常典型的例子 // 基...
  25. 快速搭建JavaScript项目库 很多人都想写一个自己的轮子,可是开始动手的时候你总会遇到以下问题 一个基本的 js 库应该如何编写 基本的前端项目都要哪些文件 又要怎么打包发布到 npm 上 你的 ES6 语法如何才能让别人识别 readme 应该如何编写 如何添加 eslint 怎么才能打包一个 umd 格式文件让 html 直接引用 为此,我专门制作...
  26. nuxt.js做服务端渲染,意外的简单 临2019年的尾巴,终于想起来做点东西练练手。身为一个零基础的前端小白,想见识一下前端广阔的天地,试一试没用过的技术,正好最近在考虑写博客,干脆就整个博客吧。既然是博客就得考虑seo,也不是专家,但起码得保证每篇文章有机会被谷歌,百度之类的引擎收录吧。 考虑再三,最终选择了vue以及nuxtjs的技术栈。(话说...
  27. js 数据在内存中的存储 计算机存储分为内存RAM和外存ROM(硬盘), 计算机调取数据是从内存中调取,因为它速度更快,而内存中的数据从外存中调取。 内存中又分为两块区域,一个是栈,一个是堆。 js中的数据类型,按构造分为两种:1、简单类型;2、复杂类型。 简单数据类型直接存在栈里面。 数值 var a = 1 var b = a var c = 1 a === b a === ...

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

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

原文:20200112 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20200112.html)