Babel 的安装
1 | npm install --save-dev @babel/core @babel/cli @babel/preset-env |
Babel 可以做什么
- Babel 就是一个 js 代码转换器,将新的es语法转换为 es5 或者 es3 的代码,从而是最终的运行环境(浏览器/node环境等)可以执行代码
- Babel 借助 core-js 可以给 js 代码添加 polyfill,以便最终在浏览器运行的代码能够正常使用那些 api;Babel 始终能提供对最新 es 提案的支持
- 借助 Babel 可以将一些框架编写的格式转换标准的 es 代码,如
jsx
.vue
文件 - js本身是弱类型语言,如果产品用户量很大,一些小错误也会导致严重的 bug,所以就有了
flow
typescript
两种强类型的编程方式,借助强类型的语言静态分析能力,可以规避不少问题,Babel 也能将其转换为标准的 es 代码 - 在 node 环境中,Babel 提供了
babel-register
,实现 ES6 的文件被 node 加载时自动转换为 ES5 的代码
相对单位
像素(px)是绝对单位,即 5px 放哪都一样大
不常用的绝对单位是mm(毫米)、cm(厘米)、in(英寸)、pt(点,印刷术语,1/72英寸)、pc(派卡,印刷术语,12点)
这些单位都可以通过公式互相换算:1in = 25.4mm = 2.54cm = 6pc = 72pt = 96px
CSS单位会根据浏览器、操作系统或者硬件适当缩放
像素是一个具有误导性的名称,CSS像素并不严格等于显示器的像素
em 和 rem 是相对单位,它们会根据作用到的元素而变化
当智能手机出现后,开发人员再也无法假装每个用户访问网站的体验都能一样(lll¬ω¬)
建议用rem设置字号,但是有选择地用em实现网页组件的简单缩放
结合伪类 :root
以及 rem / vw,不用媒体查询也能让整个网页响应式缩放