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

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

作者:李俊辰 前端之巅

转发链接:
https://mp.weixin.qq.com/s/q-49Gf-SFijeu7d2MqztIQ

前言

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

    
    

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

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

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

  • 语义释放不适用于 mono 仓库;
  • 语义发布需要精确格式化的提交消息;
  • 语义发布每次提交仅允许一项功能 / 错误修复 / 重大修改。
  • 作者一直认为解决此问题的方法是将更改日志附加到拉取请求,而不是提交请求。所以在过去的 6 个月中,他一直在探索这个问题的解决方案。此次的 Rolling 版本提供了一个简单的用户界面,可以将更改日志附加到请求中的特定软件包。然后,它会提供一个 CLI 来发布软件包,开发者可以在持续集成服务上运行该软件包。

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

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

    推荐JavaScript经典实例学习资料文章

    《纯JS手写轮播图(代码逻辑清晰,通俗易懂)》

    《JavaScript 20 年 中文版之创立标准》

    《值得收藏的前端常用60余种工具方法「JS篇」》

    《箭头函数和常规函数之间的 5 个区别》

    《通过发布/订阅的设计模式搞懂 Node.js 核心模块 Events》

    《「前端篇」不再为正则烦恼》

    《「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能》

    《深入细品浏览器原理「流程图」》

    《JavaScript 已进入第三个时代,未来将何去何从?》

    《前端上传前预览文件 image、text、json、video、audio「实践」》

    《深入细品 EventLoop 和浏览器渲染、帧动画、空闲回调的关系》

    《推荐13个有用的JavaScript数组技巧「值得收藏」》

    《前端必备基础知识:window.location 详解》

    《不要再依赖CommonJS了》

    《犀牛书作者:最该忘记的JavaScript特性》

    《36个工作中常用的JavaScript函数片段「值得收藏」》

    《Node + H5 实现大文件分片上传、断点续传》

    《一文了解文件上传全过程(1.8w字深度解析)「前端进阶必备」》

    《【实践总结】关于小程序挣脱枷锁实现批量上传》

    《手把手教你前端的各种文件上传攻略和大文件断点续传》

    《字节跳动面试官:请你实现一个大文件上传和断点续传》

    《谈谈前端关于文件上传下载那些事【实践】》

    《手把手教你如何编写一个前端图片压缩、方向纠正、预览、上传插件》

    《最全的 JavaScript 模块化方案和工具》

    《「前端进阶」JS中的内存管理》

    《JavaScript正则深入以及10个非常有意思的正则实战》

    《前端面试者经常忽视的一道JavaScript 面试题》

    《一行JS代码实现一个简单的模板字符串替换「实践」》

    《JS代码是如何被压缩的「前端高级进阶」》

    《前端开发规范:命名规范、html规范、css规范、js规范》

    《【规范篇】前端团队代码规范最佳实践》

    《100个原生JavaScript代码片段知识点详细汇总【实践】》

    《关于前端174道 JavaScript知识点汇总(一)》

    《关于前端174道 JavaScript知识点汇总(二)》

    《关于前端174道 JavaScript知识点汇总(三)》

    《几个非常有意思的javascript知识点总结【实践】》

    《都2020年了,你还不会JavaScript 装饰器?》

    《JavaScript实现图片合成下载》

    《70个JavaScript知识点详细总结(上)【实践】》

    《70个JavaScript知识点详细总结(下)【实践】》

    《开源了一个 JavaScript 版敏感词过滤库》

    《送你 43 道 JavaScript 面试题》

    《3个很棒的小众JavaScript库,你值得拥有》

    《手把手教你深入巩固JavaScript知识体系【思维导图】》

    《推荐7个很棒的JavaScript产品步骤引导库》

    《Echa哥教你彻底弄懂 JavaScript 执行机制》

    《一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧》

    《深入解析高频项目中运用到的知识点汇总【JS篇】》

    《JavaScript 工具函数大全【新】》

    《从JavaScript中看设计模式(总结)》

    《身份证号码的正则表达式及验证详解(JavaScript,Regex)》

    《浏览器中实现JavaScript计时器的4种创新方式》

    《Three.js 动效方案》

    《手把手教你常用的59个JS类方法》

    《127个常用的JS代码片段,每段代码花30秒就能看懂-【上】》

    《深入浅出讲解 js 深拷贝 vs 浅拷贝》

    《手把手教你JS开发H5游戏【消灭星星】》

    《深入浅出讲解JS中this/apply/call/bind巧妙用法【实践】》

    《手把手教你全方位解读JS中this真正含义【实践】》

    《书到用时方恨少,一大波JS开发工具函数来了》

    《干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React)》

    《手把手教你JS 异步编程六种方案【实践】》

    《让你减少加班的15条高效JS技巧知识点汇总【实践】》

    《手把手教你JS开发H5游戏【黄金矿工】》

    《手把手教你JS实现监控浏览器上下左右滚动》

    《JS 经典实例知识点整理汇总【实践】》

    《2.6万字JS干货分享,带你领略前端魅力【基础篇】》

    《2.6万字JS干货分享,带你领略前端魅力【实践篇】》

    《简单几步让你的 JS 写得更漂亮》

    《恭喜你获得治疗JS this的详细药方》

    《谈谈前端关于文件上传下载那些事【实践】》

    《面试中教你绕过关于 JavaScript 作用域的 5 个坑》

    《Jquery插件(常用的插件库)》

    《【JS】如何防止重复发送ajax请求》

    《JavaScript+Canvas实现自定义画板》

    《Continuation 在 JS 中的应用「前端篇」》

    作者:李俊辰 前端之巅

    转发链接:
    https://mp.weixin.qq.com/s/q-49Gf-SFijeu7d2MqztIQ

    来源:Echa攻城狮

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年4月22日
    下一篇 2020年4月22日

    相关推荐