【实践经验】
1、美团民宿跨端复用框架设计与实践
本文主要分享美团民宿在跨端复用技术探索层面以及业务实践过程中积累的经验,我们从复用设计层面出发,探索出页面复用模式、组件复用模式、“组件+逻辑复用”模式等三种复用设计方式,并且根据不同的场景下采用不同的复用模式,可以较好地处理跨端差异化问题,同时能兼顾效率提升、性能体验和可维护性。
2、总结TypeScript在项目开发中的应用实践体会
https://juejin.cn/post/6970841540776329224
3、TypeScript 声明文件全解析
https://mp.weixin.qq.com/s/y0c4daxpfvOm-oAo7A6ZFg
通俗地来讲,在 TypeScript 中以 .d.ts 为后缀的文件,我们称之为 TypeScript 声明文件。它的主要作用是描述 JavaScript 模块内所有导出接口的类型信息。
以下三种情况,需要我们手动定义声明文件:
- 通过 script 标签引入的第三方库
- 使用的第三方 npm 包,但是没有提供声明文件
- 自身团队内比较优秀的 JS 库或插件,为了提升开发体验
4、用 Vite 构建静态网站
https://archergu.me/posts/vite-static-site
这篇文章实际上将要介绍的是如何构建一个自动化的静态网站生成器,就像 VuePress, Hexo 那样,会涉及以下关键技术:
- 基于 Vite.js 和 Vue.js - 3.0,支持 TypeScript
- 基于文件系统的路由
- 支持 Markdown 组件, 可以在 Markdown 中使用 Vue 组件
- 纯粹的静态页面,支持服务端生成
本文就对上面的技术点进行说明,同时也会穿插一些细节内容。
5、JavaScript 如何检测文件的类型?
https://juejin.cn/post/6971935704938971173
6、【译】JavaScript 代码整洁之道-异常处理篇
https://mp.weixin.qq.com/s/mB-i07rI9b8-q61WURsltg
本文源于翻译 Clean Code Applied to JavaScript — Part V. Exceptions
在软件开发中,异常处理是高质量不可或缺的一部分,这样我们才能对程序中一些意外的情况和未实现的逻辑进行有效的控制。但是,开发人员有时会将异常处理和软件的流程处理混为一谈。
在这篇文章中,我们将提供一些与异常处理有关的建议,从而提高代码质量。
- 使用异常而非返回码
- 不要忽视异常处理
- 不要忽视 Promise reject
- 定义异常层次结构(Exceptions Hierarchy)
- 提供异常的上下文
7、11个JavaScript代码重构最佳实践
https://mp.weixin.qq.com/s/3uQeCVa_KUeXTrXdXME7hA
【基础夯实】
1、v8 执行 js 的过程
https://juejin.cn/post/6971586506011967519
本文意在简单的介绍一下 V8 执行 JS 的过程,通过了解 V8 执行 JS 的过程,知道 JS 代码呈现在浏览器上到底做了什么。
2、Node.js之fs用法详解
https://zhuanlan.zhihu.com/p/72134186
Node.js 内置的fs模块就是文件系统模块,负责读写文件。和所有其他JS模块不同的是,fs模块同时提供了异步和同步的方法,本文对Node.js中的文件系统模块做了一个详细介绍。
3、深入浅出webpack之externals的使用
https://www.jb51.net/article/129670.htm
这篇文章主要介绍了深入浅出webpack之externals的使用,觉得挺不错的,分享给大家,也给大家做个参考。
4、《模块化系列》彻底理清AMD,CommonJS,CMD,UMD,ES6
https://zhuanlan.zhihu.com/p/108217164
本文你将学到:
- Rollup 是什么
- CommonJS、AMD、CMD、UMD、ES6 分别的介绍
- ES6 模块与 CommonJS 模块的区别
- 模块演进的产物 —— Tree Shaking
- Tree Shaking 应该注意什么
5、JS常用的循环遍历你会几种
https://juejin.cn/post/6966390357005172773#comment
数组和对象作为一个最基础数据结构,在各种编程语言中都充当着至关重要的角色,你很难想象没有数组和对象的编程语言会是什么模样,特别是 JS ,弱类型语言,非常灵活。本文带你了解常用数组遍历、对象遍历的使用对比以及注意事项。
6、从 0 构建自己的脚手架/CLI知识体系
https://juejin.cn/post/6966390357005172773#comment
脚手架是我们经常使用的工具,也是团队提效的重要手段。所以系统性的掌握脚手架相关知识,对前端开发者来说是非常重要的,即使很多人今后不一定都会参与到各自部门或者公司的基建工作,但是系统性掌握好这个技能也可以方便我们后期的源码阅读,从本文中,你可以学习到如下图所示知识点。
【实用工具】
1、6 个对所有 Web 开发者都有用的 GitHub 仓库
https://mp.weixin.qq.com/s/TcpxF1foIo7qetxiBOKRKQ
2、基于 react 的一套头像库
https://github.com/chilllab/react-nice-avatar
3、一个 angular ui 库 devUI
【动态与研究关注】
1、Vue v3.1.0 Pluto 发布
https://juejin.cn/post/6971311349267709966
2、初窥鸿蒙
https://mp.weixin.qq.com/s/yxpSglFwBufmA2arxUv8pw
开发鸿蒙软件需要用到 HUAWEI DevEco Studio,它提供了模板创建、开发、编译、调试、发布等服务。
使用鸿蒙的 JS SDK 开发 App,整体的项目结构、生命周期以及开发流程很像微信的小程序,而 hml 和 JS 的语法又很像 Vue,整个流程走下来,感觉对 web 开发者而言还是很友好的,相信有 Web 前端开发基础的小伙伴们都可以快速的上手。
3、React 18 发布计划
4、V8 引入全新的非优化 JS 编译器,性能大幅提升!
https://mp.weixin.qq.com/s/w-eV2u_ND9ilo1zLbzkOaQ
V8 引入全新的非优化 JS 编译器 —— Sparkplug
V8 有了全新的超快速非优化编译器,可将 V8 在实际基准测试中的性能提高 5-15%。V8 v9.1 中已经在 —sparkplug 标志后面提供了这一工具,并且随着 M91 的发布,我们将在 Chrome 中推出该编译器。
5、微信小程序基础架构浅析
https://mp.weixin.qq.com/s/h562ECyLiQWkD3JpWXZg-g
小程序在架构方面最大的特点是采用了双线程的开发模式,隔离了 JS 逻辑和 UI 渲染。小程序的渲染层和逻辑层分别由 2 个线程管理:渲染层的界面使用了 WebView 进行渲染,逻辑层采用 JsCore 线程运行 JS 脚本。
逻辑层:创建一个单独的线程去执行 JavaScript,在这个环境下执行的都是有关小程序业务逻辑的代码;**渲染层:界面渲染相关的任务全都在 WebView 线程里执行,通过逻辑层代码去控制渲染哪些界面。一个小程序存在多个界面,所以渲染层存在多个 WebView 线程;**通信:这两个线程的通信会经由微信客户端(下文中也会采用 Native 来代指微信客户端)做中转,逻辑层发送网络请求也经由 Native 转发,小程序的通信模型下图所示。