写点什么

Pug 3.0.0 发布,不再支持 Node.js 6/8

  • 2020-05-27
  • 本文字数:1180 字

    阅读完需:约 4 分钟

Pug 3.0.0发布,不再支持 Node.js 6/8

近日,Pug 3.0.0 正式发布,Pug 原名 Jade,是由 TJHolowaychuk 开发的一款模板引擎,也是 Haml 的 JavaScript 实现版本。Pug 3.0.0 增加了一些新功能,除此之外新版本将不再支持 Node.js 6 和 Node.js 8。

重大变化

  • 如果想使用支持 renderBuffer 的过滤器,read 插件必须返回到 Buffer。如果开发者不希望使用这一功能,则可以像从前一样返回 string。

  • 使用 minify 过滤器上的选项需要安装相应的 jstransformer,目前支持的有:

  • jstransformer-uglify-js:用于 JavaScript

  • jstransformer-clean-css:用于 CSS

  • 不再支持 Node.js 6 和 Node.js 8。

新功能

  • Pug 3.0.0 中加入了新的 each…of…循环。该语法可以使开发者遍历 Maps、Sets 和 Arrays,比之前的 each…in…语法更高效,此版本依旧支持 each…in… 语法。

  • 支持编写对二进制数据(例如图像)进行操作的过滤器,可以导入图像,应用过滤器并输出优化的< img/>标签,这一操作可以缩短页面加载时间,并使 Web 应用程序更加易于部署。


例如:


// options.jsexports.filters = {png: {// instead of a function, specify an object with a "renderBuffer" property// whose value is a function that takes a Buffer instead of a stringrenderBuffer: function(buffer, options) {var data = Buffer.from(buffer).toString('base64');return '<img src="data:image/png;base64, ' + data + '"/>';      }   }};
复制代码


然后就可以使用该过滤器了:


// foo.puginclude:png my-small-image.png
复制代码


  • 支持使用 generateCode 生成替换代码。

Rolling 版本

作者表示,自从他将 Pug 的单独的软件包合并到“mono repo”中以来,发行的难度增加了,后经一位 ThreadsStyling 的同事介绍了解到了语义释放,进而广泛地使用它,不过仍有一些限制:


  • 语义释放不适用于 mono 仓库;

  • 语义发布需要精确格式化的提交消息;

  • 语义发布每次提交仅允许一项功能/错误修复/重大修改。


作者一直认为解决此问题的方法是将更改日志附加到拉取请求,而不是提交请求。所以在过去的 6 个月中,他一直在探索这个问题的解决方案。此次的 Rolling 版本提供了一个简单的用户界面,可以将更改日志附加到请求中的特定软件包。然后,它会提供一个 CLI 来发布软件包,开发者可以在持续集成服务上运行该软件包。


Pug 采用简化语法的方式,将原本臃肿的 HTML 标记精简化,同时还有很多优点:超强的可读性、灵活易用的缩进、块扩展、代码默认经过代码处理以增加安全性、拥有编译和运行时的上下文错误报告、命令行编译支持、HTML5 模式、可选的内存缓存、联合动态的静态标记类、利用过滤器解析树的处理…


因为这些优点,Pug 收获了很多开发者的好评。开发者表示,Pug 和 Vue 简直是天作之合,大幅度提高了编码效率,不过 Pug 似乎不太适合与 React 一起使用,因为关闭标签会浪费太多行代码。

延伸阅读:

https://medium.com/rollingversions/pug-3-0-0-2897d6dec294


2020-05-27 18:231891

评论

发布
暂无评论
发现更多内容

使用 NineData 高效编写 SQL

NineData

数据库 sql 数据库开发 数据管理工具 NineData

软件测试/测试开发 | AppCrawler 自动遍历测试工具实践(一)

测试人

软件测试 自动化测试 测试开发 自动遍历 AppCrawler

学术加油站|机器学习应用在数据库调优领域的前沿工作解读

OceanBase 数据库

数据库 oceanbase

为什么网络I/O会被阻塞

华为云开发者联盟

后端 开发 华为云 企业号 1 月 PK 榜

华为云Stack新版发布:构筑行业云底座,共创行业新价值

华为云开发者联盟

云计算 后端 华为云 企业号 1 月 PK 榜

牛啊!长这么大还是头一次见24W字的SpringBoot从入门到实战文档

程序知音

Java spring 微服务 springboot 后端技术

文末领资料 | 研发效能领域的三个年度关键词

思码逸研发效能

研发管理 研发效能

总有一个你能用上的29个IDEA小技巧

风铃架构日知录

Java 程序员 IDEA IT 开发工具

甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩

阿里巴巴中间件

阿里云 Kubernetes 云原生 AHPA

ISV生态合作伙伴体系多领域赋能,开拓市场赛道

元年技术洞察

数据中台 数据 数字化转型 ISV 方舟平台

信用卡APP评测系列:科技赋能信用卡APP创新升级,助力客户体验提升

易观分析

金融 信用卡

编程的终结;展望2023年AI系统方向;AI的下一个阶段

OneFlow

人工智能 深度学习

行业分析| 交通综合执法对讲系统

anyRTC开发者

指挥调度 快对讲 语音对讲 视频对讲 综合执法

Diffie-Hellman密钥协商算法探究

百度Geek说

数据安全 企业号 1 月 PK 榜

火山引擎 DataLeap 通过中国信通院测评,数据管理能力获官方认可!

字节跳动数据平台

大数据 数据治理

TDengine 公布 2022 年度中国时序数据应用创新奖,33 个科技企业创新应用脱颖而出

TDengine

数据库 tdengine 时序数据库

大咖说·对话开源|与Tapdata论道数据技术开放生态

大咖说

开源

react hook 源码完全解读

flyzz177

React

硬实力,高潜力!旺链科技当选“2022德勤中国高科技高成长50强”

旺链科技

区块链 区块链技术

视频实时自然美颜, 无惧素颜上镜

HarmonyOS SDK

HMS Core

一文总结ACE代码框架

OpenHarmony开发者

OpenHarmony

无监控,不运维!深入浅出介绍ChengYing监控设计和使用

袋鼠云数栈

【等保小知识】等保3.0就是等保三级吗?

行云管家

等保 等保2.0 等保3.0

react源码中的hooks

flyzz177

React

react源码中的fiber架构

flyzz177

React

Java高手速成 | 高质量代码编写最佳实践

TiAmo

编程好习惯 设计原则 Java’

HDI压合设计准则作业规范

华秋PCB

PCB PCB设计 HDI

【等保小知识】等保四级是最高级别吗?等保四级适用于哪些领域?

行云管家

等保 等保测评 等保四级

赞赞赞!融云收获行业媒体「组团打 Call」

融云 RongCloud

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(数据检查对比)

洛神灬殇

redis 1月日更 数据对比 Redis-full-check

要避免的自动化实践

FunTester

Pug 3.0.0发布,不再支持 Node.js 6/8_大前端_李俊辰_InfoQ精选文章