从 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
类型。
例如:
- old.js
- new.js
//- 以前
pug.renderFile(filename, {
plugins: [
{
read: (filename) => {
// this returns a "string"
return fs.readFileSync(filename, 'utf8');
},
}
]
})
//- 现在
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 月。
今后,我们可能会在不进行重大版本升级的情况下,放弃对 到达生命周期终点 的 node 版本的支持。