现代浏览器已经不需要babel和webpack了

广告位招租
扫码页面底部二维码联系

在Robust中,我提到说babel和w【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。ebpack具有时间节点上的意义,但是现【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net在看来,这个时间节点已经过去,它们可以功著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】成身退了。怎么讲?我们使用babel的主【原创内容,转载请注明出处】【本文受版权保护】要目的,是将js高版本的语法编译为低版本著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。语法,以在前几年时间里,浏览器还没有跟上原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】节奏,很多新版本特性没支持的情况下,解决未经授权,禁止复制转载。【本文首发于唐霜的博客】临时问题。但是,现在不同了,大部分新特性转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】浏览器都会提前埋好,标准出来时,浏览器已【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】经支持了。而且,很多特性我们之前不敢用,【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。我们担心某些浏览器不支持。但是随着时间的【作者:唐霜】【本文受版权保护】流逝,可以确定的是,两年前的特性浏览器一【版权所有】唐霜 www.tangshuang.net【转载请注明来源】定已经支持了,只是新发布的标准还是比较难【访问 www.tangshuang.net 获取更多精彩内容】【作者:唐霜】确定的。而比较激进的chrome,则大部【版权所有,侵权必究】【原创不易,请尊重版权】分我们需要的特性都是支持的。我觉得,ES【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】2018发布之后,我们就可以不需要bab本文版权归作者所有,未经授权不得转载。原创内容,盗版必究。el了,因为99%以上的语法浏览器都支持【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。了,其中最重要也是最慢的,就是objec【未经授权禁止转载】原创内容,盗版必究。t spread/resest这个特性:

【访问 www.tangshuang.net 获取更多精彩内容】未经授权,禁止复制转载。【版权所有,侵权必究】未经授权,禁止复制转载。【关注微信公众号:wwwtangshuangnet】
var obja = { a: 1 }
var objb = { ...obja, b: 2 }

这个特性已经成为标准的一部分,那么基本上【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。我们需要的特性都有了。我们对ES标准,已本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。经没有太大的要求,只希望它慢慢迭代,更正【本文受版权保护】原创内容,盗版必究。和修复一些小问题了。

【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】

除了特性支持以外,模块引入也已经被支持了【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】。我们不需要通过webpack来打包,支【版权所有,侵权必究】原创内容,盗版必究。持我们写的import/export语法未经授权,禁止复制转载。未经授权,禁止复制转载。,浏览器原生支持这些语法。

著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net
<sricpt type="module">
import SomeModule from 'http://xxx/somemodule.mjs'
</script>

它的工作方式非常符合我们的理解,这使得我著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】们完全可以放弃AMD那种复杂的模块引入方【版权所有】唐霜 www.tangshuang.net【本文受版权保护】式,这就让曾经传言浏览器内置requir【本文受版权保护】【关注微信公众号:wwwtangshuangnet】e.js这样的传言不攻自破。

本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】

另外,还有一个特性,即tagged st未经授权,禁止复制转载。转载请注明出处:www.tangshuang.netring tempaltes,这个特性可转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】以直接替代jsx,ES本身就支持类似js【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。x那样的语法,只是需要一个tag解析函数【未经授权禁止转载】【原创内容,转载请注明出处】而已,而这些都是在运行时可以完成的。举个【本文受版权保护】未经授权,禁止复制转载。例子:

著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】原创内容,盗版必究。
import { jsx } from 'https://xxx/jsx'

const vdom = props => jsx`<div class="${props.className}">${props.children}</div>`

ES本身就支持通过一个函数去解析字符串,【关注微信公众号:wwwtangshuangnet】【转载请注明来源】然后返回任意形式的数据。这样一来,字符串【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net模板本身就可以实现和jsx相同的功能。当【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net然,还是有一点不同,jsx是需要编译的,转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。编译后直接生成代操作的程序代码,在运行的本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。时候,不需要经过解析解析模板这个步骤,省【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】了一些性能。而如果运行时去解析字符串模板【作者:唐霜】著作权归作者所有,禁止商业用途转载。,可以缓存,因为字符串本身的结构不会变化【版权所有,侵权必究】【作者:唐霜】,但是比较复杂的结构,还是需要每次都去进【访问 www.tangshuang.net 获取更多精彩内容】【本文首发于唐霜的博客】行解析模板,所以,性能上会有消耗。但无论【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】如何,ES已经给了我们这样的能力,我们完【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。全可以抛开babel,99%的代码都可以著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】运行。

未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。