在开发组件库或者插件,经常会需要区分多种环境构建,从而实现:
- 提供各种 体积 版本:全量版、精简版、基础版等;
- 提供各种 环境 版本:web 版、nodejs 版等等;
- 提供各种 规范 版本:esm 规范版本、cjs 规范版本、UMD 规范版本等等。
那么如何能够方便实现上面功能呢?这种场景就适合使用 Feature
Flags,在构建过程中,通过开关的启用和关闭,对构建代码的过程进行动态设置,从而更好的实现 Tree Shaking。
在开发组件库或者插件,经常会需要区分多种环境构建,从而实现:
那么如何能够方便实现上面功能呢?这种场景就适合使用 Feature
Flags,在构建过程中,通过开关的启用和关闭,对构建代码的过程进行动态设置,从而更好的实现 Tree Shaking。
学习笔记: 自定义指令
自定义指令的注册方法分为 全局注册 和 局部注册 ,比如注册一个 v-focus 指令,用于在 <input> 、 <textarea> 元素初始化时自动获得焦点,两种写法分别是:
//全局注册
Vue.directive('focus', {});
//局部注册
new Vue({
el: '#app',
directives: {
focus: {}
}
});
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。
在我们日常开发中,Node.js 使用场景越来越多,大到服务端项目,小到开发工具脚本,所以掌握 Node.js 一些基础知识是非常有必要的。
今天主要聊一下 Node.js 中 LTS 和 Current 的区别和如何选择合适的版本。
在官网上可以看到 Node.js 有 LTS 系列和 Current 系列,分别对应不同的最新版本号。
(本图来自: Nodejs )
**博客文章链接: 管中窥Vue **
Vue和Angular、React.js的相同点和不同点?
**与React 的相同: **
Virtual DOM作为前端开发人员,我们经常需要为网站和应用程序添加文本内容。与传统的文本编辑器不同,富文本编辑器可让您轻松创建各种类型的文本内容,包括加粗字体、斜体字、框架、列表、图片和视频等。
本文我将向大家推荐 13 款开源的灵活可拓展的富文本编辑器,这些编辑器拥有各自独特的特性和扩展,可以帮助你创建丰富的文本内容。
主页地址: https://quilljs.com/
仓库地址: https://github.com/quilljs/quill
通过
Vue.js的过渡系统,可以在元素从DOM中插入或移除时自动应用过渡效果。Vue.js会在适当的时机为你触发CSS过渡或动画,你也可以提供相应的JavaScript钩子函数在过渡过程中执行自定义的DOM操作。
为了应用过渡效果,需要在目标元素上使用 transition 特性:
<div v-if="show" transition="my-transition"></div>
本文会和大家详细介绍 TypeScript 中的映射类型(Mapped Type),看完本文你将学到以下知识点:
接下来会先从「数学中的映射」开始介绍。
本文使用到的 TypeScript 版本为 v4.6.2 。
如果你对 TypeScript 还不熟悉,可以看下面几篇资料:
学习笔记: Vue.js基础知识
构造函数Vue的根实例 new Vue({}) ,并启动Vue应用。
var app = Vue({
el: "#app",
data: {},
methods: {}
});
学习笔记: 方法与事件
@click调用得方法名后可以不跟括号 () ,如果该方法有参数,默认会将原生事件对象 event 传入。
这种在HTML元素上监听事件的设计看似将DOM与JavaScript紧耦合,违背分离的原理,实则刚好相反。因为通过HTML就可以知道调用的是哪个方法,将逻辑与DOM解耦,便于维护。
**最重要的是,当viewModel 销毁时,所有的事件处理器都会自动销毁,无需自己处理。 **
本文能帮你做什么?
1、了解vue的双向数据绑定原理以及核心代码模块
2、缓解好奇心的同时了解如何实现双向绑定
为了便于说明原理与实现,本文相关代码主要摘自 vue源码 , 并进行了简化改造,相对较简陋,并未考虑到数组的处理、数据的循环依赖等,也难免存在一些问题,欢迎大家指正。不过这些并不会影响大家的阅读和理解,相信看完本文后对大家在阅读vue源码的时候会更有帮助<
本文所有相关代码均在github上面可找到 https://github.com/DMQ/mvvm