babel和postcss引起的一点儿思考
写es6,一般都会用到babel,它能把es6转为更好的es5,而es5可以直接在浏览器上运行。postcss是css界的babel,它可以把css转为更好的css,比如autoprefixer,让不同浏览器都支持某属性效果。我不知道为什么会有es6的出生,但是它的出现,确实让javascript更加先进,简洁,这就是技术的力量。既然es6都出现了,为什么浏览器们不尝试去认识es6呢?编写es6的人当初是怎么思考的?浏览器们会不会与时俱进呢?
工作中的我们,常常要考虑很多适配问题,但是大家似乎一直在配合浏览器和设备,因为作品需要载体展现,浏览器载体不进化,那么作品就要各种匹配和变化。就像浏览器不支持es6,所以有人研发了babel,手写css前缀麻烦,于是自动前缀插件应运而生。有没有一种可能,在es6出来的时候,或者出来前,各大浏览器厂商也做出相应支持和改变?时至今日,这种可能似乎没有苗头,否则也不会有babel和postcss的闪亮登场。我有时会想,如果浏览器给力,是不是就不会有那么多所谓的兼容性问题?浏览器设备就像源头,用户想喝到纯净的水,要么让浏览器在源头过滤,要么用户在喝水前一秒采取措施。然而大多数人事先都不知道浏览器出来的水有杂质,都是在喝过之后,发现不对劲,然后才找解决方案,久而久之,形成一种经验。这确实是一件好事,但是如果能从源头解决问题,是不是会更好呢?学过物理的人都知道,避免噪音影响自己,有好多种办法。比如找到噪音源,关掉它。比如在传播的过程中减弱声音,关上窗户和门。比如自己给耳朵塞上棉花。我个人更倾向于找到噪音源,然后关掉它,如果我控制不了的噪音源,比如外面放炮盖房子,那就退而求其次,关上门窗,给耳朵塞棉花。
解决问题,就像行军打仗一样,如果能主动进攻,就不要被动挨打。挨打后,才想着怎么预防以后不被挨打,或者减少挨打的次数并非良策啊,此乃下策,从源头解决实为上策。如果不能从源头解决问题,也要举一反三,处理一个问题进而解决一类问题,形成一个方案。
浏览器今后会不会支持es6+?前端开发者是不是要一直这样兵来将挡水来土掩,有问题解决问题?我们骑驴看唱本儿,走着瞧。
babel和postcss引起的一点儿思考的更多相关文章
- webpack4.26的详细配置,包含babel, eslint, postcss, 及各种所需loader,内含大量注释
github地址:https://github.com/qianxiaoning/demo-webpack4.26 内含详尽注释 欢迎大家star或者fork呀~ 目录结构: completeDemo ...
- Babel 和 PostCss 的一些基本配置
Babel 是一个javascript编译器,PostCSS 是一个样式转换工具.两者都可以看作是一个转化平台,我们可以在上面使用一些插件,来达到想要的代码转化.几乎每个前端项目都要使用它们. Bab ...
- UIWindow的一点儿思考
转自:http://www.cnblogs.com/smileEvday/archive/2012/11/16/UIWindow.html 每一个IOS程序都有一个UIWindow,在我们通过模板简历 ...
- CSS预编译与PostCSS以及Webpack构建CSS综合方案
CSS全称Cascading Style Sheets(层叠样式表),用来为HTML添加样式,本质上是一种标记类语言.CSS前期发展非常迅速,1994年哈肯·维姆·莱首次提出CSS,1996年12月W ...
- Coding源码学习第二部分(FunctionIntroManager.m)
接上篇.上篇有一个细节忘了写,在Coding_iOS-Info.plist 里面添加了一个key 是 Status bar is initially hidden Value 是 YES,在appl ...
- 有关npm rum的3个简洁技巧
[编者按]本文作者为来自 MongoDB 的 NodeJS 工程师 Valeri Karpov.Valeri 专注于维护常见的 Mongoose ODM,是<Professional Angul ...
- iOS 中Window优先级的问题
在项目中,视频播放时候遇到网络切换需要弹出AlertView提醒用户,忽然发现转屏的时候播放View加到KeyWindow的时候把AleryView挡住了.如图 因为转屏的时候视图是直接加载到 [UI ...
- 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境
转载请注明出处! 说在前面的话: 1.为什么不使用现成的脚手架?脚手架配置的东西太多太重了,一股脑全塞给你,我只想先用一些我能懂的库和插件,然后慢慢的添加其他的.而且自己从零开始配置也能学到更多的东西 ...
- 继webpack后又一打包神器Parcel
前言: 在继grunt.gulp实现自动化构建之后,webpack又引领前端打包潮流,众所周知的是,vue-cli的脚手架就是基于webpack进行项目打包的.而webpack还在上升的势头的时候,又 ...
随机推荐
- struct 与 class 的区别
C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能. struct能包含成员函数吗? 能! struct能继承吗? 能!! s ...
- kafka系列七、kafka核心配置
一.producer核心配置 1.acks :发送应答(默认值:1) 生产者在考虑完成请求之前要求leader收到的确认的数量.这控制了发送的记录的持久性.允许以下设置: acks=0:设置为0,则生 ...
- Shell 中test 单中括号[] 双中括号[[]] 的区别
Shell test 单中括号[] 双中括号[[]] 的区别 在写Shell脚本的时候,经常在写条件判断语句时不知道该用[] 还是 [[]],首先我们来看他们的类别: $type [ [[ test ...
- centos6环境创建局域网http方式的yum源
环境: yum服务器:centos 6.3 :192.168.8.20 yum源客户端:centos6.5 使用的主要rpm包来自centos6.5光盘 yum源服务器端配置: 1. 首先需要检查一下 ...
- 转载:configure生成的文件(1.5.3)《深入理解Nginx》(陶辉)
原文:https://book.2cto.com/201304/19620.html 当configure执行成功时会生成objs目录,并在该目录下产生以下目录和文件:|---ngx_auto_hea ...
- java开发之——[接口回调]
一.回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用.异步调用和回调.同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的 ...
- 输入一个数,求1到他 的和(for循环)
- 浏览器的userAgent归纳
IE IE6 User-Agent:Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.2) IE7 User-Agent:Mozilla/4.0 (compat ...
- html标签之Object标签详解
定义和用法 定义一个嵌入的对象.请使用此元素向您的 XHTML 页面添加多媒体.此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码. <object> ...
- 欧拉函数,打表求欧拉函数poj3090
欧拉函数 φ(n) 定义:[1,N]中与N互质的数的个数 //互质与欧拉函数 /* 求欧拉函数 按欧拉函数计算公式,只要分解质因数即可 */ int phi(int n){ int ans=n; ;i ...