It's really a long period I have been out of touch to front-end trending, until I try to add petite-vue into our team's codebase recently. Fortunately, while our age-old project is built by JSP and LayUI which is an old fashion back-end friendly UI library, there is no need to support IE any more. During exploring the petite-vue codebase, I discovered the brand new build tooling Vite, which is a leaner and faster building solution for large front-end project base on ES module.
了解事物幕后的运作方式往往有好处,但并非总是如此。 因为不必使事情过于复杂。而可视化图形界面在处理这么一个场景中,是首当其冲的。
我们开发一个库,供别人使用 npm 下载使用时,为了保证兼容性和体积,应该将其打包。本节介绍如何打包一个库进行发布。
React Native (简称RN)是Facebook于2015年开源的移动端跨平台开发框架。RN从开源以来已经有6个年头了,有着十分丰富的社区资源和生态,时至今日依然有很多移动端项目都使用RN来开发。本文主要通过以往的项目实践来谈谈在选择RN开发app可能需要注意的一些点,也算是自己的一个踩坑经验总结。
1. ES6之前JavaScript没有模块体系,相关社区提供了一些加载方案,最主要是两种CommonJs和AMD两种。ES6在语言标准层面实现了,实现了模块功能而且实现的相当简单,成为服务器和浏览器相通用的解决方案
我们每一次学习一个框架,比如像几年前的 jQuery,以及其他的第三方 javascript 实用库:loadash,underscore,dayjs,等等,我们都需要引入这些库的源文件才能使用这些库的 API,所以我们的 vue3.0 也不例外,同样需要引入,当然,我们引入的方式可能各式各样,我们需要根据自己的使用情况来以不同的方式引入框架的源文件。
引用类型的值是对象,保存在堆内存中,而栈内存储的是对象的变量标识符和对象在堆内存中的存储地址。
JS 中有个重要的类型叫做引用类型。这种类型在使用的过程中,因为传递的值是引用,所以很容易发生一些副作用,比如:
写rollup的文章是因为笔者最近要规范前端开发的业务流程和架构,并提供内部公有组件库和工具库供团队使用。在查阅大量资料并对比了webpack和rollup的优缺点之后,最终选择rollup来作为打包工具,我们最终要实现通过npm的方式安装我们的组件库和工具库:
为了更好的进行说明,我们选择了 lodash 来演示,因为它是被其他模块依赖最多的模块之一。本文是在 windows 7 64位系统中进行测试,npm 版本为 v3.8.1,其他的平台和 npm 版本在某些提示上可能会稍有不同。
尤雨溪的B站直播介绍到更新相比于vue2有1.3~2倍的性能优势。那么vue3比vue2块在哪里?
温馨提示:因微信中外链都无法点击,请通过文末的 “阅读原文” 到技术博客中完整查阅版;
相比网上教程中的 debounce 函数,lodash 中的 debounce 功能更为强大,相应的理解起来更为复杂;
解析: 因为constructor是prototype上的属性,所以dog.constructor实际上就是指向Dog.prototype.constructor;constructor属性指向构造函数。instanceof而实际检测的是类型是否在实例的原型链上。
通常,在项目不是很复杂的时候,我们会利用全局事件总线 (global event bus)解决,但是随着复杂度的提升,这些代码将变的难以维护。因此,我们需要一种更加好用的解决方案,于是,Vuex 诞生了。
node.js是一个基于Google V8引擎的、跨平台的JavaScript运行环境,不是一个语言
回首对nodejs的源码研究,时间已经过去了一年多。我很喜欢js这门语言,有时候感觉他和c语言一样,在c语言里,很多东西都需要自己实现,让我们可以发挥无限的创造力和想象力,js虽然很多东西在v8里已经提供,但是用js,依然可以创造很多好玩的东西,还有好玩的写法。js应该我见过唯一的一门没有实现网络和文件功能的语言。或者说没有向用户提供这种功能。这也是我对js最大的偏见。因为网络和文件,是一个很重要的能力。对于程序员来说,也是很核心很基础的知识。因为js的使用场景是运行在浏览器。如果js提供了文件操作的话,这就意味着js可以访问用户电脑上面的数据,这也是不显示的,所以,js不可能会提供这样的能力,让我们可以像其他语言一样,随意操作用户的资源。
前几天有个同学和我说,他在看nodejs源码,但是不知道为什么需要看,也不知道从中可以学到什么。所以今天想聊一下关于阅读nodejs源码的意义。阅读其他源码也类似。
本文介绍一种NodeJS源代码保护方式:通过把nodejs代码转化为字节码,用node启动字节码文件的方式,保护nodejs源代码不泄漏。
东东是一名前端工程师,主要用 React 技术栈,用了多年之后想深入一下,所以最近开始看 React 源码。
基于现在的程序员工作模式(模块化开发,只需要拿到需求做自己的部分),别说看源码,甚至就连项目里的代码都懒的去看,我认识的很多程序员就是这样的,一个项目摸了两三年,你要问他项目中 webpack 都干了哪些事情,他的回答是不知道,反而趾高气扬的告诉你,那些他从来都用不上,看了也没什么用,也看不懂,这里省略内心千字脏文。
工欲善其事,必先利其器,本文对55个流行的数据可视化工具开源协议,主页,文档,案例等资源的进行简单介绍,其中包括著名的D3.js,R,Gephi,Raphaël,Processing.js,Table
本文是开始学习 Vue 源码的第一篇笔记,当前的版本是 2.6.14 。如果对你有一点点帮助,请点赞鼓励一下,如果有错误或者遗漏,请在评论区指出,非常感谢各位大佬。
想获取vue3的源码,需要直接从github上vue3的仓库获取,vue3github源码地址为:
1 您使用过那些数据可视化工具? 工欲善其事必先利其器。本文对55个流行的数据可视化工具进行了简单的介绍,包括著名的D3.js、R、Gephi、Raphaël、Processing.js、Tablea
每一个文件就是一个模块,拥有自己独立的作用域,变量,以及方法等,对其他的模块都不可见。CommonJS 规范规定,每个模块内部,module 变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。
工欲善其事必先利其器。本文对55个流行的数据可视化工具进行了简单的介绍,包括著名的D3.js、R、Gephi、Raphaël、Processing.js、Tableau Public、Google Chart Tools、Arbor.js等软件。介绍主要围绕以下几个方面展开:类型、开源协议、主页、文档以及案例等。
前言:调试代码不管对于开发还是学习源码都是非常重要的技能,本文简单介绍vscode调试Node.js相关代码的调试技巧。
webpack是一个JavaScript应用程序的静态资源打包器(module bundler)。它会递归构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。大部分Vue应用会使用webpack进行打包,如果没有正确配置,就会导致Vue源码泄露,可能泄露的各种信息如API、加密算法、管理员邮箱、内部功能等等。
https://console.cloud.tencent.com/trtc/quickstart
这几天在公司接手了一个项目,是之前其它组的,现在要继续完成它。那我要做的第一件事,就是熟悉代码。对,就是看别人写的JS代码。文档嘛,自然是没有的。 之前也有试过看代码,但项目中N多JS文件,每个JS文件上千行,一行一行的看下来,用不了几分钟就完全晕掉了。完全不知道某一行里的判断,是在判断什么,那个变量是什么意思,顺着调用顺序看下来,会发现看到后面的时候,前面看的内容已经忘了。 于是,这一次,我决定换一个方式读JS源码。 这个项目中有N个JS文件,我把入口的JS文件拿出来先看,然后我把它里面所有的函数名,都用
周中坚,美团点评工程师,4年 Web 前端开发经验,主要负责过会员卡、外卖、预订、商家平台等业务的前端开发,现在是美团点评点餐团队的一员。
经过前面两篇文章的实践,我们学习了Weex的使用。本篇开始我们深入Weex的源码,一起探索Weex在安卓平台上是如何构建一套JS的运行框架,那从Module开始说起吧。
年初突然有了个想法,前端也做了几年了,但是很多知识还很零散,应该系统的把知识归纳起来,于是给自己制定了一个计划,决定花大半年的时间整理一下大前端的知识,把他们都写成文章。这个计划包括页面布局,JavaScript,计算机网络,Vue.js,React.js,Node.js,设计模式,架构,工程化,数据结构和算法,实战项目。 所谓学习的三个阶段:学一遍,做一遍,讲一遍。这个计划就是讲一遍,同时在讲的过程中,对自己的知识进行查漏补缺。 本计划所有文章都托管在GitHub上:github.com/dennis-jian… 下面是已经写作完成的文章列表,标题前加了推荐!!的都是点赞还不错的文章。
从 Vue.js 的目录设计可以看到,作者把功能模块拆分的非常清楚,相关的逻辑放在一个独立的目录下维护,并且把复用的代码也抽成一个独立目录。
功能体验 在微信小程序中搜索 腾讯视频云 可以加载到我们的演示用小程序,其中 多人音视频 功能可用于体验和测试多人音视频通话功能。出于 UI 美观和画面大小的考虑,Demo 中仅支持了最多四人的视频通
我们的课程是要解读 Vue.js 框架的源码,所以在进入课程之前我们先来了解一下 Vue.js 框架演进的过程,也就是 Vue.js 3.0 主要做了哪些优化。
Vue.js 从 1.x 到 2.0 版本,最大的升级就是引入了虚拟 DOM 的概念。
想学源码,极力推荐之前我写的《学习源码整体架构系列》 包含jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4、koa-compose、vue-next-release、vue-this、create-vue等10余篇源码文章。
最近组织了源码共读活动,大家一起学习源码,每周学习200行左右的源码,已进行到13期。于是搜寻各种值得我们学习,且代码行数不多的源码。
Test<T> 这个高级类型,有一个泛型参数 T,当 T 传入的类型为联合类型的时候,有两种情况:
想学源码,极力推荐之前我写的《学习源码整体架构系列》 包含jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4、koa-compose、vue-next-release、vue-this、create-vue、玩具vite等10余篇源码文章。
项目中需要实现音频智能控制以及根据音乐转换色彩功能,WaveView 完全满足目前需求,完美实现需求,该库还有另外 WaveSurferView 和
Vue.js 最显著的功能就是响应式系统,它是一个典型的 MVVM 框架,模型(Model)只是普通的 JavaScript 对象,修改它则视图(View)会自动更新。这种设计让状态管理变得非常简单而直观,不过理解它的原理也很重要,可以避免一些常见问题。下面让我们深挖 Vue.js 响应式系统的细节,来看一看 Vue.js 是如何把模型和视图建立起关联关系的。
之所以选择v2.6.11是因为当前项目(腾讯云医)使用uniapp框架(v2.0.1-32920211122003)进行微信小程序开发,uniapp框架提供的vue运行时就是基于v2.6.11进行改造的。
越来越少对外分享文章了,这些内容是多年的一些笔记和实践,对 Node.js 感兴趣的同学可以看一下,不过有些内容不是很完善,也有点旧了。
经过前面几篇Weex源码分析系列文章,相信大家对Weex是什么、Weex能带来什么、Weex是如何工作的等几个问题已经有了自己的答案。
领取专属 10元无门槛券
手把手带您无忧上云