• 【前端词典】学习 Vue 源码的必要知识储备
    前言我最近在写 Vue 进阶的内容。当你想学习 Vue 源码的时候,需要有扎实的 JavaScript 基础,下面罗列的只是其中的一部分比较具有代表性的知识点。如果你还不具备 JavaScript 基础的话,建议不要急着看 Vue 源码,这样你会很容易放弃的。我会从以下 7 点来展开:Flow 基本语法发布/订阅模式Object.definePropertyES6+ 语法原型链、闭包函数柯里化event loop必要知识储备需要注意的是这篇文章每个点不会讲的特别详细,我这里就是把一些知识点归纳一下。Flow 基本语法相信看过 Vue、Vuex 等源码的人都知道它们使用了 Flow 静态类型检查工具。默认为 trueWritable是否能修改属性的值。默认为 trueEnumerable能否通过 for-in 遍历,即是否可枚举。
  • 【中高级前端必备】手摸手教你撸一个脚手架
    尽管这些脚手架非常优秀,但是未必是符合我们的实际应用的,我们可以定制一个属于自己的脚手架,来提升自己的开发效率。实现的功能在开始之前,我们需要明确自己的脚手架需要哪些功能。我们这次编写的脚手架具备以下能力:eos init template-name project-name 根据远程模板,初始化一个项目eos config set 修改配置信息eos config get [] 查看配置信息eos --version 查看当前版本号eos -h大家可以自行扩展其它的 commander,本篇文章旨在教大家如何实现一个脚手架。初始化项目创建一个空项目,使用 npm init 进行初始化。/usr/bin/env node 指定当前脚本由node.js进行解析#!启动项目npmrunwatch处理命令行利用 commander 来处理命令行。
  • CSS混合模式
    在CSS中我们可以通过background-blend-mode和mix-blend-mode来应用混合模式这一强大的效果。示例demo链接可点击跳转,可以分别选择不同的混合模式来应用效果。除了常规模式,一共有15种混合模式,想要准确地记住所有模式的原理其实比较困难。所以我们可以将其简单分为几类,当我们需要某一类效果时,可以直接缩减范围,尝试满足这一类效果的混合模式。注意,当存在多背景时,background-blend-mode混合模式的顺序与background-img属性一致。如果混合模式的值长度小于背景图的值长度,则会重复混合模式的值,循环匹配。
  • 开源的7大理念
    开源的7大理念软件正在慢条斯理地吞噬世界,开源正在慢条斯理地吞噬软件业。本文分析了开源的7大理念,有助于读者更好理解开源的本质要素,这些理念为“完全自主”、“高度开放”、“自发自治”、“自下而上”、“自由竞争”、“赢在声誉”、“社区赋能”,如果你觉得已经从字面意思都完全理解了,可以直接翻到文末领取福利。这就是开源的原生动力。总之,如果一切都开源了,这就是黑客感觉最自由和最自主的环境,这就是黑客的理想。
  • 【前端冷知识】你了解Canvas的渲染上下文吗?
    做前端的同学应该都知道,Canvas是浏览器中很重要的一个绘图元素,使用它可以绘制2D图形或者3D图形,要绘制2D或3D图形时,需要获取不同的上下文,最常用的两个上下文是2d上下文和webgl上下文。首先,一个canvas对象只能获取一种类型的上下文,以第一次调用getContext获取的上下文为准。failIfMajorPerformanceCaveat: boolean值,表明在一个系统性能低的环境是否创建该上下文的,默认false。关于canvas的渲染上下文,你还有什么想法,欢迎在issue中讨论。
  • 奇舞周刊第 317 期:W3C Web 游戏技术研讨会总结报告​
    记得点击文章末尾的“阅读原文”查看哟~下面先一起看下本期周刊摘要吧~来来来~ 转眼间又到周五啦~ 周末到啦,不要放弃学习哟~ 加油吧童鞋~奇舞推荐■ ■ ■W3C Web 游戏技术研讨会总结报告来自游戏厂商、游戏引擎开发者、游戏开发者、游戏渠道分发商和设备制造商的技术分享者和参会者一起讨论如何用新的游戏技术去完善 Web 开放平台。分享者是 Brie Bunge,Airbnb高级前端工程师。关于奇舞周刊《奇舞周刊》是360公司专业前端团队「奇舞团」运营的前端技术社区。
  • 【前端冷知识】一个被忽视的webpack插件
    如今的前端开发,有可能会面对复杂的环境,所以工程化思维几乎是专业前端工程师必备的。让同一套代码,在不同的环境中运行时,如何让它以最优的方式(尽可能小、尽可能快)加载和执行,是我们需要考虑的问题。假设我们需要在开发环境中输出额外的调试信息,而在线上环境中不输出,我们可以定义环境变量:// env.jsexport const isDEV = true;import {isDEV} from './env.js';if(isDEV) {  console.log('...some information...'...
  • 【译】移动App的可访问性陷阱和测试方法
    编者按:本文作者:安佳,360 搜索事业部的前端开发工程师,W3C CSS 工作组成员。原文:Mobile App Accessibility Pitfalls, Plus an Intro on Testing for Accessibility.(https://www.microassist.com/digital-accessibility/mobile-application-accessibility-part-2-of-2/)确保残障用户可以访问移动应用程序:给设计师和开发人员的提示和测试指南...
  • 源自Babel的多包管理工具:Lerna
    编者按:本文作者:刘观宇,360 奇舞团高级前端工程师、技术经理,W3C CSS 工作组成员。多包合作的烦恼在开发需要多个密切协作的软件包时候,我们往往将独立的功能块进行划分,使得各个功能独立的模块分别完成,以减少相互影响,完成有效的多人合作。但是,在模块协作时,经常会遇到一些问题:依赖处理繁琐。依赖的模块,尚处在开发之中,通行的npm install、yarn等无法从安装源中获得。被依赖的模块版本升级,模块其他版本需要手动管理相关的版本。有循环依赖的风险对于多个模块的大型项目的协作管理,一般地有multi...
  • 奇舞周刊第 316 期:Serverless For Frontend 前世今生
    记得点击文章末尾的“阅读原文”查看哟~下面先一起看下本期周刊摘要吧~转眼间又到周五啦~ 今天为大家推荐的三篇文章建议认真阅读~奇舞推荐■   ■   ■尤雨溪:在框架设计中寻求平衡“让我们一起来了解下在当前框架三足鼎立的局势下,如何直接透过框架本身了解到更多有关框架设计中的的权衡,以及 Vue 是如何进行取舍的。”Serverless For Frontend 前世今生“鉴古知今,以史明鉴。”再看 2019 大前端技术趋势,Web OS 概念正落地“前端三大框架已趋于平稳,标准化,向 Web Compone...
个人资料

《奇舞周刊》是由奇舞团维护的前端技术周刊。除周五外,每天向大家推荐一篇前端相关技术文章,每周五向大家推送周刊汇总内容。