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": ...
共计 109 篇文章,22 页。