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还在上升的势头的时候,又 ...
随机推荐
- Dubbo监控中心
(1).dubbo-admin(管理控制台) 1).从https://github.com/apache/incubator-dubbo-ops下载解压 2).修改dubbo-admin配置文件中zo ...
- python 退出程序的方式
python程序退出方式[sys.exit() os._exit() os.kill() os.popen(...)] 知乎说明 http://www.zhihu.com/question/21187 ...
- datatables 添加excel下载
Datatables 版本 1.10.12 和普通datatables不一样的是: 引入包 <script src="../../vendor/datatables/js/dataTa ...
- [转]GDB-----1.GDB概述
作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx 1.前言 本文写给主要工作在Windows操作系统下而 ...
- Linux mmc framework1:软件架构
[部分内容来自] http://www.wowotech.net/comm/mmc_framework_arch.html 1. 前言 由eMMC基础技术1:MMC简介中MMC.SD.SDIO的介绍可 ...
- cacti系列(二)之cacti添加对tomcat服务器的监控
cacti添加对tomcat的监控 1.首先下载监控tomcat的模板 TomcatStats-0.1.zip 2.导入模板 (cacti_host_template_tomcat_server ...
- Web 中调用FreeSWITCH的Portal GUI配置记录
具体设定步骤: ①加载 mod_xml_rpc 模块:load mod_xml_rpc 若想让该模块在FreeSWITCH启动时而自动加载,在conf/autoload_configs/modules ...
- JavaScript事件属性event.target
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python接口自动化测试二十七:加密与解密MD5、base64
# MD5加密 # 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作 import hashlib def MD5(str): # 创建md5对象 hl ...
- 获取更新元素文本html()
html() 方法,获取元素文本,包含元素标签,也可以设置元素的文本值(包含元素标签),还可以包含子元素标签.相当于JavaScript中的innerHTML. <!DOCTYPE html&g ...