主页

babel Presets 翻译

Presets是一个数组,由babel插件或者可共享的配置组成; Stage 0 - 只是一个想法; Stage 1 - 建议:值得推进 Stage 2 - 草稿: 有初始规范. Stage 3 - 候选: 完成规范和浏览器的初步实现; Stage 4 - 完成: 下一个发布周期会加入. 建立一个presets,presets里可以包含其他presets,plugins里也可以有optins; module.exports = () => ({ presets: [ require("@babel/preset-env"), ], plugins: [ [require("@babel/plugin-proposal-class-properties...

阅读更多

babel plugins 翻译

plugins BABEL是一个编译器(source=>output),类似其他编译器,需要经历3个阶段:解析,转换,输出; 单独的babel不会做什么,需要适当的插件来实现需要的功能; 可以使用preset添加一个插件集,不用一个一个单独加载了; 在 .babelrc: { "parserOpts": { "plugins": ["jsx", "flow"] } } 如果plugin在npm,传递plugin的名称,babel会检查并安装; { "plugins": ["babel-plugin-myPlugin"] } 可以指定绝对、相对路径 { "plugins": ["./node_modules/asdf/plugin"] } plugin o...

阅读更多

浏览器内部原理

浏览器组成 1.用户界面:包括地址栏,书签,回退前进按钮等; 2.浏览引擎:查询和操纵渲染引擎的接口 3.渲染引擎:负责展示请求的内容; 4.网络:用于网络调用,比如http请求;具有平台依赖性,实现根据平台而定; 5.ui backend:用于绘制基本的组件,比如窗口,底层依赖操纵系统的接口; 6.js解释器:解析执行js代码; 7.数据存储:这是一个持久层,浏览器需要存储各种类型的数据,例如cookie,webdatabase等; 各组件直接的通信 主要流程 渲染引擎在得到网络层请求的内容以后开始工作,内容通常最大为8k的数据块; 渲染流程是: 解析html构造DOM树 --> 渲染树 --> 布局渲染树 --> 绘制渲染树 渲染引擎解析html文档,...

阅读更多

babel config 翻译

配置文件 babel配置文件也eslint类似,也有多种形式 1、babel.config.js module.exports = function (api) { api.cache(true); const presets = [ ... ]; const plugins = [ ... ]; return { presets, plugins }; } 2、.babelrc { "presets": [...], "plugins": [...] } 3、package.json { "name": "my-package", "version": "1.0.0", "babel": { "presets": ...

阅读更多

层叠上下文

层叠上下文 层叠上下文是HTML元素的三维概念,这些HTML元素在一条假想的相对于面向(电脑屏幕的)视窗或者网页的用户的z轴上延伸, HTML元素依据其自身属性按照优先级顺序占用层叠上下文的空间 文档中的层叠上下文由满足以下任意一个条件的元素形成: 根元素 (HTML), z-index 值不为 “auto”的 绝对/相对定位, 一个 z-index 值不为 “auto”的 flex 项目 (flex item),即:父元素 display: flex inline-flex, opacity 属性值小于 1 的元素 transf...

阅读更多