移轉至 Pug 3(從 Pug 2)

如果您要從 Jade 進行移轉,請先參閱移轉至 Pug 2文章。本文介紹如何從 Pug 2 升級至 Pug 3。

如需完整的新功能清單,請參閱版本說明。以下僅說明如何處理重大變更。

具備 minify 的篩選器

注意

如果您未使用具備「minify」選項的篩選器,您可以忽略此變更。

如果您使用輸出 JavaScript 或 CSS 的篩選器,以及 minify 選項,您現在需要包含額外的相依性。如果您要支援 JavaScript 的縮小,您必須安裝 jstransformer-uglify-js,如果您要支援 CSS 的縮小,您必須安裝 jstransformer-clean-css

read 外掛現在應傳回 Buffer

注意

如果您未使用外掛,您可以忽略此變更。

如果您使用 read 外掛來覆寫 pug 讀取檔案的方式,而且您要支援新的 renderBuffer 篩選器,您將需要傳回 Buffer

例如

//- old

pug.renderFile(filename, {
  plugins: [
    {
      read: (filename) => {
        // this returns a "string"
        return fs.readFileSync(filename, 'utf8');
      },
    }
  ]
})
//- new

pug.renderFile(filename, {
  plugins: [
    {
      read: (filename) => {
        // this returns a "Buffer"
        return fs.readFileSync(filename);
      },
    }
  ]
})

Node.js 支援

我們取消支援 10.0.0 之前的節點版本。我們建議將所有使用 pug 的專案升級至 node.js 12,但我們將支援 10 至 2021 年 4 月。

未來我們可能會在節點版本達到生命週期結束時取消支援,而不會大幅度版本升級。