跳到主要内容

从 Pug 2 升级到 Pug 3

如果您要从 Jade 迁移到 Pug,请先阅读 迁移到 Pug 2。本文介绍的是如何从 Pug 2 升级到 Pug 3。

有关新功能的完整列表,请参阅 版本发布说明。以下仅说明如何处理破坏性的更改。

minify 参数的过滤器

注意

如果您使用过滤器时不带 "minify" 参数的话,可以忽略此更改。

如果你正在使用输出 JavaScript 或 CSS 的过滤器,并且该过滤器带有 minify 参数的话,那么,现在你需要安装一个额外的依赖包。如果要精简(minifying) JavaScript 代码的话,则必须安装 jstransformer-uglify-js 软件包;如果要精简(minifying) CSS 代码的话,则必须安装 jstransformer-clean-css 软件包。

read 插件现在应返回 Buffer 类型

注意

如果你不使用插件的话,可以忽略此更改。

如果你正在使用 read 插件来覆盖 pug 读取文件的方式,并且想支持新的 renderBuffer 过滤器,那么你需要让插件返回 Buffer 类型。

例如:

//- 以前

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

对 Node.js 的支持

我们放弃了对 10.0.0 之前的 node 版本的支持。我们建议您将所有使用 pug 的项目升级到 node.js 12,但我们将支持版本 10 到 2021 年 4 月。

今后,我们可能会在不进行重大版本升级的情况下,放弃对 到达生命周期终点 的 node 版本的支持。