作者tume209 (tume209)
看板Web_Design
标题[问题] 关於babel处理preset与plugin的顺序问题
时间Sat Nov 16 15:00:19 2019
各位大大好,最近在学习babel设定时,官方说明处理顺序会先使用plugin再使用preset,假设设定为下(大概示意)
presets :
[ "@babel/env" , { useBuiltInt : false } ]
plugins :
[ "@babel/plugin-transform-runtime" ]
此时要babel的代码内有class语法,则env会生成的helper函数,而transform-runtime会接着将helper替换为引入runtime库内的档案。
但这样babel处理顺序不就变成
先preset → env生成helper
再plugin → 将helper移除,改成引入
这里是不是怪怪的阿?
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.32.156 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1573887621.A.9A3.html
※ 编辑: tume209 (27.242.32.156 台湾), 11/16/2019 15:02:56
※ 编辑: tume209 (27.242.32.156 台湾), 11/16/2019 15:08:40
1F:→ dododavid006: 虽说 plugin 跟 preset 有载入的顺序问题,但是在 11/18 11:58
2F:→ dododavid006: plugin 里也可以指定处理的时间点是要在进入一个 11/18 11:59
3F:→ dododavid006: ast node 或是离开的时候,不过最重要的其实是 11/18 11:59
4F:→ dododavid006: transform-runtime 设定了一个特殊的选项 11/18 12:00
5F:→ dododavid006: helperGenerator 改变了 babel 如何产生那些 helper 11/18 12:00
6F:→ dododavid006: 所以并不是等到 helper 产生後才去做转换,而是一开 11/18 12:01
7F:→ dododavid006: 始就让它不会被 inline 到档案里去 11/18 12:01
8F:→ tume209: 感谢大大说明! 11/19 12:47