List the useful 2-4 cards combos in my EDH decks.
Color now mostly used: RUG
Commander now mostly used
Babel 是一个 JavaScript 的静态分析编译器,在不需要执行代码的前提下对代码进行分析和处理。
要实现 Babel 从一个语法转换成另外一个语法,需要经过三个主要步骤:解析(Parse),转换(Transform),生成(Generate)。
Webpack externals,target,resolve,module,plugin,devtool 的配置。
像 Grunt、Gulp 这类构建工具,打包的思路是:遍历源文件 → 匹配规则 → 打包,这个过程中做不到按需加载,即对于打包起来的资源,到底页面用不用,打包过程中是不关心的。
webpack 跟其他构建工具本质上不同之处在于:webpack 是从入口文件开始,经过模块依赖加载、分析和打包三个流程完成项目的构建。在加载、分析和打包的三个过程中,可以针对性的做一些解决方案,还可以轻松的解决传统构建工具解决的问题:
模块化打包,一切皆模块,JS 是模块,CSS 等也是模块;
语法糖转换:比如 ES6 转 ES5、TypeScript;
预处理器编译:比如 Less、Sass 等;
项目优化:比如压缩、CDN;
解决方案封装:通过强大的 Loader 和插件机制,可以完成解决方案的封装,比如 PWA;
流程对接:比如测试流程、语法检测等。
BetterScoll 用于解决列表的动态滚动,实现移动端列表上拉加载,下拉刷新,水平/垂直滚动,滚动至指定高度等功能。BetterScroll 支持大量参数配置,提供很多灵活的 api 实现指定功能。
实现 BetterScroll 滚动时父元素的高度或宽度需要进行固定,同时确保父元素和子元素内容正确渲染;在 DOM 结构发生改变时需要重新调用 scroll.refresh()
方法重新计算来确保滚动效果正常。
Swiper 和 vue-awesome-swiper 插件用于页面内容的触摸滑动,每个展示块为一个 slide,全部 slide 包含在包装器 wrapper 中,外部的总容器 container 又包裹着 wrapper 和箭头按钮控件 navigation 以及分页器控件 pagination。
<div class="swiper-container"> |
JavaScript 是单线程的,在 JS 引擎中负责解释和执行 JavaScript 代码的线程只有一个,而异步容易实现非阻塞,所以在 JavaScript 中对于耗时的操作或者时间不确定的操作,使用异步就成了必然的选择。
进行 web 网站开发时,前后端分离导致开发进度不同,前端经常需要等待后端的接口数据完成开发才可以继续调试。且开发环境,测试环境和线上环境分离,本地开发时无法运用测试环境的接口,开发时的接口和最终部署的接口也并不相同,每次测试时来回部署代码要耗费很多时间。
使用 json-server + mockjs 编写 json 格式的模拟数据接口,在等待后端准备接口期间,前端可以使用假数据进行模拟。
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个 XML 文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖。
POM 中可以指定以项目依赖,插件,执行目标,项目构建 profile,项目版本,项目开发者列表,相关邮件列表信息。
所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version。