前端小报 - 201812 月刊

2023-11-09 10:50

本文主要是介绍前端小报 - 201812 月刊,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

订阅 / 投稿: https://github.com/txd-team/monthly
本期小编:  Hkmu (扶容) /  x-cold (尹挚)

新闻快报

  • npm 发布 2018 年的生态数据,预测 2019 年新趋势

JavaScript 越来越受欢迎,而 npm 是 JavaScript 库的管理中心,目前拥有超过 836,000 个库,是世界上最大的开源库集合。

回顾 2018 年,npm 正在被用在越来越多的场景下,包含浏览器,服务端,移动支持,IoT / 机器人等方面;另外可以看到现在 Web 应用程序中大量依赖 npm,占其代码总量的 97%;npm 本身在 2018 年加入了 NSP 安全审计,更加注重包的安全管理(当然今年也发生了不少的 npm 包事件,参考工具推荐部分的“翻车现场”)。更多关于 npm 有趣的一些趋势可以浏览前端之巅翻译的报告,英文好的同学可以参考原始报告。

  • Rollup 发布 v1.0 版本

从 Rollup 出现到现在已经接近 3 年半的时间,带来了让人眼前一亮的 Tree Shaking 等特性,前端应用的项目构建上我们使用的频率可能相对低一些,而在一些库/框架的开发中经常会用到它,包括 React, Vue 也在使用。在 2018 年 12 月 28 日,Rollup 终于发布了 1.0.0 版本,结束了 0.x.x 时代。当然,升级到最新版本的 Rollup 需要改动不少的配置,参见更新日志。

  • Babel 7.2.0 发布,支持私有实例方法

关于私有作用域 (Private Fields) 的支持已经进入最新的提案中,Babel 的更新支持意味着我们可以在语言层面直接在我们的类 (Class) 中定义私有的变量和方法了,可以参考下面的示例:

class Person {#age = 19;#increaseAge() {this.#age++;}birthday() {this.#increaseAge();alert("Happy Birthday!");}
}

在这个提案之前,我们也可以通过下划线命名,Symbol 命名,闭包和 ES6 Proxy 等方式来实现私有作用域,可以参考这篇文章。关于 Babel 7.2.0 带来的更多特性可以读一下官方的更新日志。

  • AI 也能帮你写代码 (TypeScript / JavaScript / Python / C++ / C#) 了!!!

微软和 IntelliCode 团队一起推出 Visual Studio IntelliCode 扩展,预览版可以在 VSCode 插件市场直接查找「Visual Studio IntelliCode」安装。在我们编写代码的时候,插件会自动给出推荐的编码补全,当然它不只是个语法的提示工具,它的做法是根据编码的上下文来提供智能的建议,赶紧安装体验吧~

intellicode_3.gif

  • 2019 年十款流行的 Node.js 框架

文章介绍了框架带来的收益以及如何选择适合的框架,并且对比了 10 款目前流行的 Node.js 框架,包括老牌的 Express、Meteor,以及一些新兴框架,例如 Adonis, Nest 等。感兴趣的同学可以阅读原文。

值得一提的是,在诸多框架横空出世的黄金开发时代,框架之间更多是特性的互补,所以并没有必要去分出高下,更重要的是选择跟业务成长相契合的框架。另外作者列举的更多的是海外流行的框架,其实国产的 Egg, ThinkJS 也已经有不少的企业级实践,感兴趣的可以到对应的 Github 仓库继续深入了解。

  • 阿里开源企业级设计系统最佳解决方案 Fusion

2018 年 12 月 16 号,Fusion Design 在 OSC 深圳源创会年终盛典上正式开源,它是阿里巴巴耗时近三年打造的企业中后台解决方案,关于 Fusion 的详细介绍可以参考这里。

  • 微软宣布 Edge 将采用 Chromium 内核

这对于诸多的前端开发者而言,无疑是本年底最大的福音~!具体的计划可以参考官网的博客,在不久的将来,基于 Chromium 的 Edge 浏览器将要正式和我们见面啦。

Github Trending

洞察 Github 近期 Hot Fresh Repository
  • Magic-Grid

一款简单易用,轻量级的动态布局的 JavaScript 库,与它的名字不同,Magic-Grid 不是 CSS Grid 库,它支持弹性布局/瀑布流等,还提供了一个支持 Vue 的版本。

  • nodebestpractices

大型 Node.js 最佳实践的精品总结和分享,里面包含了丰富的使用场景及最佳实践(附带解释),阅读这本大型书籍也能收获不少关于 Node.js 的知识。

  • sharp

高性能的 Node.js 图像处理模块,图像处理又多一种新的选择。

  • bloomrpc

不容错过的 GPRC 服务可视化客户端,可以理解为 HTTP 之 Postman, GraphQL 之 Playground,GRPC 之 BllomRPC。

  • devhub

Github 社交聚合平台,个人认为更像是个人工作台,支持 Web, iOS, Android, Desktop 多平台,如果你是 Github 用户,这里可能提供了你想要的一切。

  • rrweb

rrweb 是 'record and replay the web' 的简写,旨在利用现代浏览器所提供的强大 API 录制并回放任意 Web 界面中的用户操作。

  • notable

一款基于 Markdown 的笔记应用程序,支持无限文件夹 / 标签管理,喜欢纯粹的 Markdown 编辑体验的同学可以尝试使用一下,README 文件中有和其他竞品对比的报告。

精品学习

  • 前端该知道些密码学和安全上的事儿

在这个经常翻车的年代,网络安全逐渐受到重视。在前端这个开放的世界中,开发人员更应该对安全有所了解,并在自己的应用程序中部署适当的安全工具和策略,保护用户隐私以及系统的安全运行。文章阅读时间约 15 分钟。

  • Why review code

如何保证代码的交付质量?结对编程是否有科学依据?实际上,Code Review 无论是在软件工程体系,亦或是开源社区的运行秩序中,都是非常重要的环节。正确的 Code Review 姿势不仅能提高代码质量,降低故障发生的风险,还能给团队开发带来效能的提升。如果你的团队还没有 Review 代码的习惯,不妨来看下燕燕翻译的这篇博客。文章阅读时间约 10 分钟。

工具推荐

  • quicklink

还记得曾今的 WAP 时代吗?当我们在浏览网页的时候,经常能看到一个绿色的下一页按钮,点击之后可以“几乎无刷新”的跳转到新的页面中,它其实是一种预加载的策略。现在 quicklink 也可以给普通的 Web 应用程序提供类似的能力,使用它我们可以让浏览器在空闲的时间预先将用户即将访问的页面预先缓存,从而极大地提高了切换页面的速度。

  • ncc

可以将 Node.js 模块打包成单个文件的神奇工具,让你的模块最小化。这种打包的方式非常适合一些需要更“纯粹”的交付场景,比如 serverless,通过 ncc 我们可以很轻松地把应用程序及依赖转换成单个文件进行交付。

  • npq

最近半年发生的 npm 事故稍微有些频繁,因此通过 npm 安装一个靠谱的 package 和 version 非常重要。npq 会在安装之前进行前置的检查,其中包括了安全扫描、包的发布时间、热度、安装脚本分析等。另外带大家回顾一下今年的大型翻车现场:

debug:visionmedia/debug#603
React:facebook/react#14208
event-stream:https://zhuanlan.zhihu.com/p/50938220

这篇关于前端小报 - 201812 月刊的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/375671

相关文章

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown