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还在上升的势头的时候,又 ...
随机推荐
- LOJ 3089: 洛谷 P5319: 「BJOI2019」奥术神杖
题目传送门:LOJ #3089. 题意简述: 有一个长度为 \(n\) 的母串,其中某些位置已固定,另一些位置可以任意填. 同时给定 \(m\) 个小串,第 \(i\) 个为 \(S_i\),所有位置 ...
- 【ARTS】01_10_左耳听风-20190114~20190120
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- f-GAN
学习总结于国立台湾大学 :李宏毅老师 f-GAN: Training Generative Neural Samplers using Variational Divergence Minimizat ...
- caffe源码阅读(1)_整体框架和简介(摘录)
原文链接:https://www.zhihu.com/question/27982282 1.Caffe代码层次.回答里面有人说熟悉Blob,Layer,Net,Solver这样的几大类,我比较赞同. ...
- linux暂停一个在运行中的进程【转】
转自:https://blog.csdn.net/Tim_phper/article/details/53536621 转载于: http://www.cszhi.com/20120328/linux ...
- ubuntu 下 teamview 取消自动启动 autostart
sudo teamviewer daemon disable
- windows下解压zip包,包含中文解析
#coding=utf8 import os import zipfile import sys,locale # 本来以为需要,结果不需要 # def p(f): # #print '%s.%s() ...
- WAP网页中点击链接直接拨打电话的方法
主要方法有两种: 第一种: 这种也是最简单的. 示例代码: <a href="tel:+18790853577">点击拨打</a> 第二种: <a h ...
- 并发研究之Java内存模型(Java Memory Model)
Java内存模型JMM java内存模型定义 上一遍文章我们讲到了CPU缓存一致性以及内存屏障问题.那么Java作为一个跨平台的语言,它的实现要面对不同的底层硬件系统,设计一个中间层模型来屏蔽底层的硬 ...
- curl 命令模拟 HTTP GET/POST 请求
https://www.cnblogs.com/alfred0311/p/7988648.html