跳至主要內容

功能時間軸

我們在每個 Babel 版本中引入了哪些主要的新功能?此頁面包含每個次要版本的非常簡短摘要,或者您可以在 GitHub 上閱讀完整的變更日誌!此外,使用此時間軸來追蹤其他一些重要的工作,例如 babel-polyfills 專案。

  1. Babel 7.24.0

    部落格文章

  2. Babel 7.23.0

    部落格文章

  3. Babel 7.22.0

    部落格文章

    • 預設啟用第 4 階段 RegExp v 旗標 提案
    • 支援 明確資源管理 提案第 3 階段提案,包括 非同步版本
      JavaScript
      {
      await using db = connect(databaseURL);
      let user = await db.getUserById(userId);
      await db.createPost(user.name, "Hi! :)");
      } // Automatically close the db
    • 支援 裝飾器 提案的更新,該提案已在 2023 年 3 月和 2023 年 5 月的 TC39 會議中達成共識
    • 解析支援第 3 階段 匯入屬性 提案,以前稱為「匯入斷言」
      JavaScript
      import data from "./data.json" with { type: "json" };
  4. Babel 7.21.0

    部落格文章

  5. Babel 7.20.0

    部落格文章

    • TypeScript 4.9 支援
    • 解析器支援 explicit resource management 第 2 階段提案
      JavaScript
      {
      using handle = openFile(name, "w+");
      write(handle, "Hi!\n");
      write(handle, ":)\n");
      } // Automatically close the file
    • 解析器支援 import reflection 第 2 階段提案
      JavaScript
      import module mod from "./mod.js";

      // later ...
      import(mod);

    babel-loader 9.0.0

    發布

  6. Babel 7.19.0

    部落格文章

  7. Babel 7.18.0

    部落格文章

    • TypeScript 4.7 支援
    • 轉換對 私有解構 第 2 階段提案的支持
      JavaScript
      class A {
      #x = 2;
      method() {
      const { #x: x } = this;
      }
      }
    • 編譯產生器時不再需要手動包含 regenerator-runtime 輔助程式
  8. Babel 7.17.0

    部落格文章

    • 支援 裝飾器 第 2 階段提案的新版本
      JavaScript
      class A {
      @reactive #x = 2;

      @logger
      method() {
      this.#x++;
      }
      }
    • 支援 正規表示式集合符號和字串屬性 第 2 階段提案
      JavaScript
      /[\p{RGI_Emoji}&&[\0-\uFFFF]]/v;
    • 解析器支援 私有解構 第 2 階段提案
      JavaScript
      class A {
      #x = 2;
      method() {
      const { #x: x } = this;
      }
      }
  9. Babel 7.16.0

    部落格文章

  10. Babel 7.15.0

    部落格文章

    • 預設啟用 頂層 await 第 4 階段提案的解析
      JavaScript
      import db from "db";
      await db.connect();
    • 預設啟用 私有品牌檢查 第 4 階段提案
      JavaScript
      class A {
      static { initialize(A); } // static block
      #field;
      is(obj) {
      return #field in obj; // private brand check
      }
      }
    • 支援「Hack 風格」管道運算子第 2 階段提案
      JavaScript
      const result = "World" |> `Hello, ${%}!` |> alert(%);
    • TypeScript 4.4 支援
  11. Babel 7.14.0

    部落格文章

  12. Babel 7.13.0

    部落格文章

  13. Babel 7.12.0

    部落格文章

  14. Babel 7.11.0

    部落格文章

  15. @babel/eslint-parser

    部落格文章

  16. Babel 7.10.0

    部落格文章

  17. babel-polyfills

    儲存庫

  18. Babel 7.9.0

    部落格文章

    • bugfixes 選項在 @babel/preset-env 中,用於解決瀏覽器錯誤,而不是編譯整個功能
    • TypeScript 3.8 支援
    • 支援 Flow declare 類別欄位
    • 支援 自動 JSX 執行時間
  19. Babel 7.8.0

    部落格文章

  20. Babel 7.7.0

    部落格文章

    • 解析器支援 頂層 await 提案
      JavaScript
      import db from "./database.js";

      await db.connect();
    • @babel/parser 中新增早期錯誤的錯誤復原支援
    • 支援 .json.cjs 組態檔
    • TypeScript 3.7 支援
  21. Babel 7.6.0

    部落格文章

    • 支援靜態私有存取器,是 靜態類別功能 提案的一部分
      JavaScript
      class Dog {
      static get #className() { return "Dog"; }
      }
  22. Babel 7.5.0

    部落格文章

    • 支援 F# 管線運算子 提案
      JavaScript
      num |> add(2) |> double
    • TypeScript namespace 支援
  23. Babel 7.4.0

    部落格文章

    • 支援注入 core-js@3 polyfill
    • 支援 部分應用程式 提案
      JavaScript
      strings.map(parseInt(?));
    • 支援靜態私有方法,這是 靜態類別功能 提案的一部分
      JavaScript
      class Dog {
      static #register() { /* ... */ }
      }
    • TypeScript 3.4 支援
  24. Babel 7.3.0

    部落格文章

    • 支援實例私有存取器,這是 私有方法 提案的一部分
      JavaScript
      class Dog {
      get #randomId() { return Math.random(); }
      }
    • 支援 智慧管道運算子 提案
      JavaScript
      num |> add(2, #) |> double
    • 支援正則表示式中的 命名擷取群組
      JavaScript
      str.match({String.raw`/^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/`})
    • TypeScript 3.2 和 2.9 支援
  25. Babel 7.2.0

    部落格文章

    • 支援實例私有方法,這是 私有方法 提案的一部分
      JavaScript
      class Dog {
      #bark() { console.log("Mew!") }
      }
  26. Babel 7.1.0

    部落格文章

    • 支援 裝飾器 提案,因為它已於 2018 年 9 月指定
      JavaScript
      class Person {
      @autoIncrement age;
      }
    • 支援靜態私有欄位,是 靜態類別功能 提案的一部分
      JavaScript
      class Person {
      static #classId = 3;
      }
  27. Babel 7

    部落格文章

    自 2 年的預發行版本以來,已有許多變更。