写点什么

前端每周清单第 48 期:Slack Webpack 构建优化,CSS 命名规范与用户追踪,Vue.js 单元测试

  • 2018-01-23
  • 本文字数:3557 字

    阅读完需:约 12 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端每周清单。

新闻热点

国内国外,前端最新动态

  • ECharts 4.0 发布: 2018 年 1 月 16 日,百度的 ECharts 团队对产品进行了更新,发布了时隔两年的大版本 4.0。在 ECharts 4.0 新版本中,主要在性能功能、易用性及扩大使用范围三个大的方面进行了八项升级:带给用户更强大的性能和功能,让开发者使用 ECharts 变得更加轻松,让更多的人在更多的场景都能访问使用 ECharts 制作的可视化产品。
  • Puppeteer 1.0 发布: Puppeteer 是由 Google Chrome 团队开源的,Headless Chrome 操作接口库,已成为事实上的 Headless 浏览器操作标准。本周 Puppeteer 1.0 正式发布,为我们带来了 Chromium 65,page.coverage API,page.pdf() 支持自定义头部与脚部,XPath 支持增强,target.createCDPSession() 兼容原生协议等特性变化。
  • jQuery 3.3.0 发布: jQuery 仍然是很多 Web 开发工作中不可或缺的部分,自上次 jQuery 大版本更新以来,其核心团队更多地着眼于应该移除什么部分,而不是添加新的功能特性,来保证 jQuery 的小巧易用性。该版本中移除了部分过时的 API,并且为 .addClass(), .removeClass(), 以及 .toggleClass() 这几个函数支持输入某个样式类名数组作为参数。
  • Angular 5.2 发布: Angular 5.2 发布,其可以直接替代之前的 5.1 版本,包含了部分错误修复与性能提升。新版本中,优化了对于模板的类型检查,添加了对于 TypeScript 2.6 的支持,优化了 Router 参数与数据继承。

开发教程

步步为营,掌握基础技能

  • 无缝为 create-react-app 项目添加 SSR + 代码分割特性: create-react-app 是非常不错的原型化工具,能够快速搭建 React 基础应用。本文即是介绍在无需弹出配置的情况下,为 create-react-app 创建的项目添加服务端渲染与代码分割异步加载的特性;本文依次介绍了服务端渲染、基于 react-loadable 的代码分割、服务端代码分割、利用 Webpack 的 chunkNames 特性等内容。更多 React 学习参考 React 与前端工程化实践
  • Vue Devtools 4.0 新特性介绍: 日前 Vue Devtools 发布了 4.0 大版本更新,引入了一系列的新特性与提升,本文即是对这些变化进行深入解读。本文介绍的新特性包括了组件数据可编辑、在外部编辑器中打开组件、展示原始组件名、优化组件审查方式、根据组件过滤事件、可伸缩的审查器等;更多 Vue.js 学习资料参考 Vue Reference
  • CSS 命名规范,加速你的代码调试: 维护大型的 CSS 代码库并非易事,特别是那些随意散漫未经组织的 CSS 代码极易变成一团乱麻;本文则深入浅出地介绍了 CSS 命名规范,来帮助开发者编写优质的代码。本文首先讨论了连字符与 camelCase,然后介绍了 BEM 的含义与用法,最后讨论了如何设置合适的 JS 操作类;更多 CSS 学习资料参考 Web 开发基础与工程实践
  • 纯 CSS 的网页追踪方案: 我们经常会从用户访问的网页中,采集某些用户相关的偏好数据,譬如他们对于某些链接的点击情况等等。本文则是提出了一种不使用 JS,纯粹依赖于 CSS 来进行网页追踪与分析的方案,其依赖于用户点击某个链接或者悬停在某个元素之后,浏览器添加的默认样式类;该方案目前能够用于采集用户的访问与查看情况,更多 CSS 学习资料参考 Web 开发基础与工程实践

工程实践

立足实践,提示实际水平

  • 菜鸟网络前端全栈化之路: WEB 前端开发在开发体系里面是一个特殊的群体,阿里早期给前端的定义是“D2”,D2 的含义是:developer & designer。这么一个定位就直接导致了基础教育阶段的人才是空白的,也导致了前端优秀人才特别少,招聘难的问题,随之带来的问题往往会成为整个研发链路的瓶颈。另外近几年随着无线的快速发展,前端在 PC 传统流域的优势逐渐在丧失,而无线端随着无线动态化技术的发展,web 前端又再次受到发展空间的挤压。在这样的情况下前端这个岗位其实需要一些比较大的突破和改变。而 web 前端传统价值的中台化和新领域的拓展变的尤为重要。今天我要分享的就是菜鸟是如何实施前端技术中台化和推动开发全栈的一些经验。
  • 来自 Slack 的 Webpack 构建性能优化: Webpack 已然是主流的前端打包工具之一,不过其繁荣的第三方插件生态反而会使得,优化 Webpack 的构建性能成为了一件不容易的事情。本文即是来自 Slack 的工程师,分享的他们在重构整个前端过程中累积的,如何优化 Webpack 构建性能的经验;本文主要从衡量并且分析构建耗时的组成、并行化构建流程、减少构建工作、使用缓存、优化硬件等几个方面。更多 Webpack 学习资料参考 Webpack Reference
  • 编写 Vue.js 单元测试时需要规避的五个陷阱: 单元测试是应用开发中不可或缺的部分,本文作者会循序渐进地,以具体的例子来介绍日常开发中会用到的 Vue.js 单元测试的例子。作者希望在本文中讲清楚如何测试、应该测试哪些,并提醒开发者注意避免五个坑:等到最后再测试,测试了不恰当的内容,搞混了 Test Doubles,结构过度耦合,过度追求测试覆盖率等;更多 Vue.js 学习资料参考 Vue Reference

深度阅读

深度思考,升华开发智慧

  • 理解 React 源代码: React 为我们提供了直接易用的,以状态为核心的前端应用开发方式,本系列文章则着眼于分析 React 内部工作原理。依次讨论了 React 中简单组件、类组件等渲染流程;更多 React 学习参考 React 与前端工程化实践
  • Node.js 内建模块加载机制: 本系列文章着眼于分析 Node.js 内部原理,首篇文章讨论了 Node.js 的主进程是如何启动的。接下来作者又分析了在主进程初始化过程中,是如何加载内建模块的,然后还深度分析了 os 包的实现;更多 Node.js 学习参考深入浅出 Node.js 全栈架构
  • 不曾了解的 JS 特性: 本文作者在通读了 MDN 文档之后,惊讶地发现了很多他不曾了解的 JS 特性与 API;本文即是作者的读后总结分享,JS 也是学无止境啊。作者在本文中介绍了 Label Statements,void 操作符,Comma 操作符,with 条件操作符,国际化 API,管道操作符,setTimeout 参数等等;更多 JavaScript 学习参阅现代 JavaScript 开发基础

开源项目

乐于分享,共推前端发展

  • After.js : After.js 是类似于 Next.js 的 React 服务端渲染框架,不过其是由了 React Router 作为路由系统,而不像 Next.js 那样自建路由系统。After.js 同样践行了组件即路由的理念,支持基于路由的代码分割、基于路由的变换、分析、数据加载、数据预加载等。
  • dialog-polyfill : 上周的清单中我们介绍过 HTML 5.2 中引入的 dialog 标签,dialog-polyfill 则是由 Google 开源的,dialog 的适配库。不同于第三方组件或者框架提供的弹窗功能,原生的 dialog 标签更为简单易用,并且其可访问性也更好,浏览器也能够针对该标签进行优化。
  • JARVIS : J.A.R.V.I.S. (Just A Rather Very Intelligent System) 是 Webpack 实时监控工具,其能够将开发环境或生产环境下的 Webpack 构建信息实时展示到浏览器中。JARVIS 借鉴了 Webpack Dashboard 等流行的 Webpack 监控工具,然后提供了可优化的 ES Harmony 模块统计、将资源分割为不同的类别等扩展功能。
  • 1Backend : 1Backend 是自部署的 Serverless 平台,其设计目标是简化 Lambda 函数与微服务的部署、运行、维护流程。1Backend 使得开发者能够快速开发服务,其支持 Go,JavaScript,TypeScript,MySQL 等常见的技术栈。
  • Prisma : Prisma 能够将数据库转化为 GraphQL API;其允许用户自定义数据模型,然后快速地转化为可用的 GraphQL 服务器。Prisma GraphQL API 提供了强大的数据抽象与构建块,来辅助开发灵活可扩展的 GraphQL 服务端,包括了类型安全的 API,声明式 DSL 的数据模型、实时接口、与流行前端框架无缝兼容等。

巅峰人生

  • 对话 AI 专家洪亮劼:这次,我们全方位聊聊人工智能: 洪亮劼,极客时间《AI 技术内参》专栏作者,电子商务平台 Etsy 数据科学主管,前雅虎研究院高级研发经理。长期从事机器学习与人工智能的基础以及应用研究,积累了丰富的学术研究和工业实践经验,对推荐系统、搜索引擎、计算广告学、社交网络以及自然语言处理等领域有非常深入的理解。本文从人工智能的落地、观点、人才培养与招聘、学习等几个角度来聊聊人工智能。

前端之巅

「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群,加入前端之巅学习群请关注「前端之巅」公众号后回复 “ 加群 ”。投稿请发邮件到 editors@cn.infoq.com,注明 “ 前端之巅投稿 ”。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-01-23 18:002226
用户头像

发布了 60 篇内容, 共 18.0 次阅读, 收获喜欢 9 次。

关注

评论

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

世界读书日 | 开发者必读书单重磅来袭,华为云DTSE专家天团力荐

华为云开发者联盟

华为云 华为云开发者联盟 企业号2024年4月PK榜 世界读书日 开发者必读书单

第六届科技无障碍发展大会(2024TADC)

信息无障碍研究会

Anon Network:基于 Ator Protocol 的 DePIN 匿名互联网

大瞿科技

信创国产化替换势在必行,“重复造车轮”应避免

FinFish

国产化 小程序容器 信创化软件 信创化

出海不出局 | 小游戏引爆高线市场,新竞争态势下的应用出海攻略

融云 RongCloud

MES系统解决方案,MES系统主要能解决什么问题

万界星空科技

数字化 生产管理系统 mes 万界星空科技 车间管理

驼峰与下划线在python中转化

麦兜

利用jd.item_get API获取商品信息,打造可读性强的商品介绍

技术冰糖葫芦

API 接口 API 文档 pinduoduo API

软件测试学习笔记丨Selenium网页frame

测试人

软件测试

Giants Planet 宣布推出符文,建立在坚实价值的基础上

西柚子

GLM国产大模型训练加速:高效性能与成本优化的实践

百度开发者中心

人工智能 深度学习 大模型

认识一下JavaScrip中的元编程

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

Stable Diffusion中的常用术语解析

程序那些事

人工智能 程序那些事 openai

仓储管理解决方案:混合低代码与定制开发,实现灵活性与效率的完美结合

天津汇柏科技有限公司

低代码开发 软件开发定制 仓储系统

QCN9274 vs QCN9224 chip performance comparison-wireless communication innovation

wifi6-yiyi

5G qcn9274 QCN9224

Apifox 最新功能更新:OAuth 2.0 鉴权、多分支Mock及更多

Apifox

程序员 前端 后端 Apifox

HashData获得华为鲲鹏Validated认证 信创版图持续壮大

酷克数据HashData

文心中国行走进成都!4月24日一起把握大模型时代的产业新机遇

飞桨PaddlePaddle

百度 BAIDU 百度飞桨 文心大模型 文心中国行

面试不会算法和数据结构,经典面试题讲解来了!

霍格沃兹测试开发学社

MES管理系统与其他系统的集成

万界星空科技

数字化转型 系统集成 mes 万界星空科技

卡片式笔记系统BYEAP介绍

zhumingwu

你的debug包在Android 14变卡了吗?|得物技术

得物技术

android 性能优化 debug 堆栈 企业号 4 月 PK 榜

金三银四 面试准备 数据结构面试题,编程与算法经典面试题

测试人

面试 软件测试 求职

如何通过二维码追踪物品流转情况?添加这个组件即可

草料二维码

二维码 草料二维码

lerna-lite 轻量化 monorepo 管理利器

小鑫同学

LLaMA 2语言大模型的微调策略:LoRA与全参数选择

百度开发者中心

人工智能 大模型 llama2

Prompt工程师压箱底绝活——Prompt的基本组成部分、格式化输出与应用构建

百度Geek说

企业号 4 月 PK 榜 Prompt

前端每周清单第 48 期:Slack Webpack 构建优化,CSS 命名规范与用户追踪,Vue.js 单元测试_语言 & 开发_王下邀月熊_InfoQ精选文章