AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:231946

评论

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

OceanBase 4.1 发版 | 一个面向开发者的里程碑版本

OceanBase 数据库

数据库 oceanbase

未来已来,OpenHarmony 3.2 Release发布,迈入发展新阶段

OpenHarmony开发者

OpenHarmony

分享:作业帮在多云环境下的高可用双活架构优化实践

OceanBase 数据库

数据库 oceanbase

聊聊简单又不简单的图上多跳过滤查询

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

技术不行还说Java卷!靠468页SpringBoot企业级项目实战成功逆袭

做梦都在改BUG

Java 微服务 Spring Boot 框架

MySQL索引数据结构入门

江南一点雨

Java MySQL

【实践篇】基于CAS的单点登录实践之路

京东科技开发者

CAS SSO 单点登录 企业号 4 月 PK 榜

CUDA编程基础与Triton模型部署实践

阿里技术

cuda 模型部署

Redis分布式锁一定注意两个坑

做梦都在改BUG

Java redis 分布式锁

一文解读基于PaddleSeg的钢筋长度超限监控方案

飞桨PaddlePaddle

人工智能 图像识别 飞桨

横扫一线大厂面试的高并发笔记到底有多硬核?

小小怪下士

Java 程序员 后端 高并发 java面试

🔥笔耕不辍,筑梦前行,三周年连更活动来啦!

InfoQ写作社区官方

热门活动 三周年连更

Hybrid App 选用什么前端框架更好

Onegun

flutter React Native Hybrid

如何把Ai绘画工具放到我们的App中

Onegun

AI AIGC

Java 源码重读系列之 HashMap

U2647

源码 hash map #java

什么是接口定义? 接口定义的概念和用途详解

Apifox

前端 接口 后端 API 接口定义

百度工程师的软件质量与测试随笔

百度Geek说

测试 软件质量 测试技术 智能测试 企业号 4 月 PK 榜

Github发布6天,Star55K+,这套笔记足够你拿下90%的Java面试

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

从GitHub火到了头条!共计1658页的《java岗面试核心》,拿走不谢

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

Spring源码探索-核心原理下(AOP、MVC)

Java你猿哥

spring aop Spring MVC

4月22日,云数据库技术沙龙【杭州站】

NineData

MySQL 数据库 开发者 Clickhouse 沙龙预告

解密HTTP协议:探索其组成部分与工作原理

做梦都在改BUG

Java 计算机网络 网络协议 HTTP

cad看图:MiniCAD 中文版

真大的脸盆

Mac Mac 软件 cad cad看图

安全测试前置实践2-安全渗透测试

京东科技开发者

测试 安全测试 功能测试 网络安全渗透测试 企业号 4 月 PK 榜

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