看板 Web_Design 關於我們 聯絡資訊
各位大大好,最近在學習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://www.ptt.cc/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
dododavid006: 雖說 plugin 跟 preset 有載入的順序問題,但是在 11/18 11:58
dododavid006: plugin 裡也可以指定處理的時間點是要在進入一個 11/18 11:59
dododavid006: ast node 或是離開的時候,不過最重要的其實是 11/18 11:59
dododavid006: transform-runtime 設定了一個特殊的選項 11/18 12:00
dododavid006: helperGenerator 改變了 babel 如何產生那些 helper 11/18 12:00
dododavid006: 所以並不是等到 helper 產生後才去做轉換,而是一開 11/18 12:01
dododavid006: 始就讓它不會被 inline 到檔案裡去 11/18 12:01
tume209: 感謝大大說明! 11/19 12:47