迁移到 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 之前的 node 版本的支持。我们建议将使用 pug 的所有项目升级到 node.js 12,但我们将支持 10 直到 2021 年 4 月。

将来,当节点版本达到使用寿命时,我们可能会放弃对它们的版本支持,而无需进行重大版本更新。