「Ohbug 前端周刊」第 20 期。本期刊开源(GitHub: ohbug-org/weekly), 欢迎 issue 投稿, 推荐项目。
https://nextjs.org/blog/next-12
- Rust 编译器: faster Fast Refresh 快了 3 倍,build 快了 5 倍
- 中间件(beta): 通过配置式代码赋予 Next.js 灵活性
- React 18 支持: 支持 Native Next.js API 和 Suspense
<Image />
avif 支持: 可选的 图像大小减少 20%- Bot-aware ISR Fallback: Web 爬虫优化 SEO
- Native ES Module 支持: 与标准对齐
- URL Imports(Alpha): 从任何 URL 导入包,无需安装
- React Server 组件(Alpha): 包括 SSR streaming
- Node.js Corepack 集成。通过将
packageManager
字段添加到package.json
,强制执行特定包管理器 - PnP 支持 ESM,声明 type: "module" 的会自动开启,也可通过 pnpEnableEsmLoader: true 手动开启或关闭
- 支持通过
nodeLinker: pnpm
切换到 pnpm 模式 - 支持 optionalDependencies,根据平台安装指定包
- 支持 workspace:^
Google 发布 Material Design 第 3 版
Google 在 发布 Android 12 时,发布全新的 Material You 设计语言。 现在 Material Design 基于新的设计语言发布全新的第 3 版。提供 Figma 插件和 UI kit。
作者分析了 Tailwindcss 与 WindiCSS 的问题,推出了一个原子化 CSS 引擎,它并未提供核心工具类,所有功能可以通过预设和内联配置提供。
不知不觉都 2021 年了,Node.js 的 LTS 已经到了 16.x, 这期间由于 Node.js 发展过程中基础类库的不完善,出现了各种生生不息的类库套娃封装,npm 包的数量扶摇直上,已经突破 170 万,断层式第一。
为你的网站快速接入一个 command+k 搜索插件
自动使用正确的包管理器 npm/yarn/pnpm
编程式获取本地依赖包的信息
import {
isPackageExists,
getPackageInfo,
resolveModule,
importModule,
} from 'local-pkg'
isPackageExists('local-pkg') // true
isPackageExists('foo') // false
await getPackageInfo('local-pkg')
/* {
* name: "local-pkg",
* version: "0.1.0",
* rootPath: "/path/to/node_modules/local-pkg",
* packageJson: {
* ...
* }
* }
*/
// similar to `require.resolve` but works also in ESM
resolveModule('local-pkg')
// '/path/to/node_modules/local-pkg/dist/index.cjs'
// similar to `await import()` but works also in CJS
const { importModule } = await importModule('local-pkg')
以编程的方式安装依赖包,自动选择包管理器
import { installPackage } from '@antfu/install-pkg'
await installPackage('vite', { silent: true })
一款帮助开发者更轻松的管理前端开发软件,更快速配置前端环境的前端研发工具箱。
- 一键安装前端开发工具:包括但不限于:桌面客户端、编辑器插件、浏览器插件、命令行工具等
- 可视化管理前端开发工具:覆盖工具查找、安装、升级、卸载完整的软件生命周期管理
- 可视化配置前端开发环境:包括但不限于:Node 配置、Git 配置、npm 配置等
- 🕒 每周一准时更新 (重新定义周一)
- 👋 Github 和公众号同步更新 点击《阅读原文》前往 Github 仓库
微信搜索 「Ohbug」 或者关注公众号 ohbug, 即可订阅。