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还在上升的势头的时候,又 ...
随机推荐
- winform程序生成条形码并且并且保存到本地文件中。
今天公司让做一个输入数字.字母生成条形码并且可以以图片格式保存到本地.当看到这个需求时候感觉很搞笑,明明可以用文本框搞定的东西非得做个程序.哎,寄人篱下,不多说了,这就是养兵千日用兵一时. 我在网上找 ...
- 【BARTS计划】【Review_Week1】Google Docs 成为青少年们喜爱的聊天 app
BARTS计划 · Review :每周阅读并点评至少一篇英文技术文章. 附原文链接 Google Docs 本是作为协作办公工具存在的,却成了学生们现代版“传纸条”的工具.认真的说,“你永远不知道用 ...
- cdh部署
supermicro安装环境 本次安装基于无因特网的环境,共安装2个节点(一个master节点,一个data及节点),所用系统为centos7.x,所有安装过程均使用root用户.具体的节点信息如下: ...
- JavaScript对象复制(一)(转载)
在JavaScript很多人复制一个对象的时候都是直接用"=",因为大家都觉得脚本语言是没有指针.引用.地址之类的,所以直接用"="就可以把一个对象复制给另外一 ...
- ubuntu下tensorflow 报错 libcusolver.so.8.0: cannot open shared object file: No such file or directory
解决方法1. 在终端执行: export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64” export CUDA_HOME=/usr/ ...
- 如何消除手机设置的字体大小对Cordova app(Android)界面font-size的影响
===================== 更新分割线 =================== 现在发现其实不需要用安卓编辑器打开,也能找到这个文件,路径是platforms\android\Cord ...
- Maven编译时,出现找不到符号
解决办法: 如果使用的是聚合工程 1.执行project--clean(eclipse)或者build project(intellij),将项目清理一下. 2.执行聚合工程中的 Maven--cl ...
- ES6 模块与 CommonJS 模块的差异
ES6 模块与 CommonJS 模块完全不同.它们有两个重大差异 CommonJS 输出是值的拷贝,即原来模块中的值改变不会影响已经加载的该值,ES6静态分析,动态引用,输出的是值的引用,值改变,引 ...
- vue scoped 穿透_vue 修改内部组件样式问题
何为scoped? 在vue文件中的style标签上,有一个特殊的属性:scoped.当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组 ...
- ubuntu 窗口操作快捷键
alt + space 打开窗口菜单SUPER + A: 搜索或浏览程序 SUPER/alt + tab: 切换窗口 SUPER + L: 进入睡眠状态 SUPER + M:查看日历