欢迎来到第 71 期的【视野修炼 - 技术周刊】,下面是本期的精选内容简

强烈推荐

  1. Rspack 新成员:Rsdoctor
  2. Bun Shell
  3. DCloud:App跨平台框架对比2023版

开源工具&技术资讯

  1. WoodenFish - 敲木鱼
  2. CSS 实现卡片翻转效果
  3. fsx - JavaScript 的现代文件系统 API
  4. 在vscode中悄无声息地摸鱼
  5. 人像生成工具

AI工具&资讯

  1. Inpaint-web - 开源的图片修复工具

​也推荐大家关注一下最后的推荐内容(周刊的主要内容来源渠道)

下面开始本期内容的介绍,预计阅读时间 10 分钟。

强烈推荐

1. Rspack 新成员:Rsdoctor

现在相关产品已经有 4 个了,很高产呀,社区活跃度也还不错。

这里着重介绍一下新成员:Rsdoctor

Rsdoctor 是一个构建分析工具,用于分析基于 Rspack 和 Webpack 构建的项目。它支持分析的项目包括:Rsbuild、Create React App、Modern.js 等。

详细内容可以移步:Rsdoctor v0.1 发布公告,这里摘录一部分:

  1. 概览页能够知道项目配置、诊断信息、编译信息、产物情况

  1. 诊断模块:其中重复包可以查看到详细的引用路径

  1. 产物分析

和之前常用的 webpack-build-analyze 插件比,确实更加友好

同时在不考虑 Vite 的情况下,也推荐大家优先尝试一下 Rspack

2. Bun Shell

Bun 也支持类似 zx(Google出品 - 但集成度略低)执行 shell 命令的功能。

① 先介绍了js写shell的困难之处

下面是一个例子

import { spawnSync } from 'child_process'

// this is a lot more work than it could be
const { status, stdout, stderr } = spawnSync('ls', ['-l', '*.js'], {
encoding: 'utf8',
})

② 不同操作系统 shell 无法统一

例如 rm -rf 在 Windows 上无法使用,因此 rimraf 这个包很流行,每周下载量在 8000kw 左右

envKey=envValue script 这种设置环境变量的方式在 Windows 上也不生效,因此有了 cross-env 解决这个问题,周下载量 600w

同时还有 which 等指令,这里就不展开赘述了。

这些polyfill 真的有必要存在吗?

现在你可以使用 Bun Shell:Bun 中的一种新的实验性嵌入式语言和解释器,允许您在 JavaScript 和 TypeScript 中运行跨平台 shell 脚本。

import { $ } from 'bun'

// to stdout:
await $`ls *.js` // to string:
const text = await $`ls *.js`.text() // 使用变量
const resp = await fetch('https://example.com') const stdout = await $`gzip -c < ${resp}`.arrayBuffer() // 可以使用 cd 、echo 和 rm 等内置命令 await $`cd .. && rm -rf node_modules/rimraf`

它被设计为简单 shell 脚本的直接替代品。在 Windows 版 Bun 中,它将为 bun run 中的 package.json “脚本”提供支持。

笔者准备下来深度体验一番,再写个使用反馈(准备先来个翻译文章,再来个使用实践),我感觉这个东西是很赞的,值得推荐

3. DCloud:App跨平台框架对比2023版

App跨平台框架历史悠久,从cordova、react native、flutter,直到最近的uni-app x。江山代有才人出,每个都试图颠覆原生,但过去却一直未成功。

文章通过举例对比了常见框架的优缺点,最后介绍了一下 uni-app x

但是现在 uni-app x 还不支持 iOS

开源工具&技术资讯

4. WoodenFish - 敲木鱼

一个敲木鱼的网页 App,移动端打开时,只有侦测到手机陀螺仪的角度变化,才算一次敲击动作,这时可以把手机想象成敲木鱼的棒子

5. CSS 实现卡片翻转效果

知识点:

  1. 伪元素的灵活使用::before::after
  2. transform 过渡属性的使用
  3. css3 中 backface-visibility 属性:定义当元素背面向屏幕时是否可见

6. fsx - JavaScript 的现代文件系统 API

文章是一篇译文

fsx 库在不同的运行时环境中都可用,包括 Node.js、Deno 和内存中实现,提供了统一的使用方式。

如果有跨运行时使用的诉求可以考虑一下这个库 fsx

下面看一下 API 使用示例,封装了大概 10 几个常用的。

import { fsx } from 'fsx-node'

// read plain text
const text = await fsx.text('/path/to/file.txt') // read JSON
const json = (await fsx.json('/path/to/file.json')) ?? {} await fsx.write('/path/to/file.txt', 'Hello world!')

7. 在vscode中悄无声息地摸鱼

文章介绍了几个可以在 VS Code 中 “摸鱼”的插件:

笔者试用了一下,都还挺好用的,就不贴图了,感兴趣的可以装上试试

8. 人像生成工具

基于手绘风 SVG 人物画像集合 Open Peeps,一个人物画像的在线定制工具。

还不错哦效果,Mark

AI工具&资讯

9. Inpaint-web - 开源的图片修复工具

基于 Webgpu 和 wasm 技术, 纯浏览器端实现。

随便找了张图测试了一下,效果确实还行。

趣图


篇幅有限,如果你还没看够,可移步后面的推荐渠道,继续游览,历史周刊(<20)移步博客

️强力推荐关注

视野修炼第71期 | Rspack 家族新成员 Rsdoctor的更多相关文章

  1. TWaver家族新成员 — Legolas工业自动化设计平台

    对于TWaver可视化家族的成员,大家比较熟悉的是我们的网络拓扑图组件和MONO Design三维建模工具.作为开发工具,这两款产品面向广大的程序猿同志,在界面可视化上为大家省时省力.但是,当项目交付 ...

  2. Microsoft 家族新成员 Datazen 移动BI 介绍

    开篇介绍 Microsoft 在上个月即 2015年4月份收购了 Datazen www.datazen.com, Datazen 专注于移动 BI 和数据可视化领域,并且它的基本部署与配置架构都是基 ...

  3. 函数计算工具链新成员 —— Fun Local 发布啦

    刚刚,我们发布了函数计算工具链的新成员,Fun Local.欢迎大家使用! 如果你还不了解 Fun 是什么,我们来简单解释下. Fun 是什么 Fun 是 have Fun with Serverle ...

  4. 介绍一位OWin服务器新成员TinyFox

    TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇".TinyFox本身的功能是html服务器,所有的WEB应 ...

  5. FreeBSD基金会添加新成员,梁莉成为第一位来自微软和中国的基金会董事

    这个月23日FreeBSD基金会很高兴地宣布Philip Paeps和Kylie Liang (梁莉)正式加入董事会. 梁莉,现任微软开源技术部高级项目经理,主要负责FreeBSD在公有云以及私有云的 ...

  6. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

  7. JEECG开源团队招募新成员 2014年

    JEECG开源团队招募新成员 2014年 截止日期:2014-06-01        JEECG开源项目 是一款基于代码生成器的微云高速开发平台.提供企业高速开发和採用微信实现移动应用的解决方式.J ...

  8. 一位OWin服务器新成员TinyFox

    一位OWin服务器新成员TinyFox TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇".TinyFox本 ...

  9. pyhton崩溃的第六天,又有新成员

    首先在今天的刚刚开始,补充一下上次两个成员的一些特有的方法,一个是列表,一个是字典,首先列表里面多了一个反转的方法,名叫reverse,简单就是把列表中的123变成了321,还有一个方法是sort,是 ...

  10. Apache Kudu: Hadoop生态系统的新成员实现对快速数据的快速分析

    A new addition to the open source Apache Hadoop ecosystem, Apache Kudu completes Hadoop's storage la ...

随机推荐

  1. 【scikit-learn基础】--『分类模型评估』之评估报告

    分类模型评估时,scikit-learn提供了混淆矩阵和分类报告是两个非常实用且常用的工具.它们为我们提供了详细的信息,帮助我们了解模型的优缺点,从而进一步优化模型. 这两个工具之所以单独出来介绍,是 ...

  2. idea报错 Error running GctlBrpApplication. Command line is too long. Shorten the command line and rerun.解决方案

    idea新导入项目有时候会出现以下报错,解决方法如下: 一:报错截图,报错原因是命令行太长,让缩短命令长度再运行. 二:解决方法如下:在剪头标记位置加入代码: <property name=&q ...

  3. SecureCRT使用sftp上传较大文件意外暂停

    今天在一台跳转机使用SecureCRT的sftp上传较大文件时,发现中途会时常停止传输,给出提示如下: 如果此时选择Accept Once,会继续传输,但是过一段时间后,还是会停止并给出相同提示,如果 ...

  4. 【译】使用.NET将WebAssembly扩展到云(一)

    原文 | Richard Lander 翻译 | 郑子铭 WebAssembly(Wasm)是一种令人兴奋的新虚拟机和(汇编)指令格式. Wasm 诞生于浏览器,是 Blazor 项目的重要组成部分. ...

  5. react 八千字长文深入了解react合成事件底层原理,原生事件中阻止冒泡是否会阻塞合成事件?

    壹 ❀ 引 在前面两篇文章中,我们花了较大的篇幅介绍react的setState方法,在介绍setState同步异步时提到,在react合成事件中react对于this.state更新都是异步,但在原 ...

  6. 高效发现和解决insert字段长度不够的报错

    早上发现执行的PostgreSQL 存储过程报错,错误如下: 300-value too long for type character varying(100),一看就是表字段的长度太小,从提示看是 ...

  7. java generic 介绍

    一 介绍: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的"任意化","任意化"带来的缺点是要做显式的强制类型转换, ...

  8. C++的strcat实现

    #include <iostream> #pragma warning(disable:4996); using namespace std; char* t = (char*)mallo ...

  9. golang微服务实践:服务注册与服务发现 - Etcd的使用

    为什么? 为什么会有服务注册和服务发现?在它以前我们是怎么做的? 举个例子: 比如我们做MySQL读写分离,就在本地配置一个文件,然后程序读取这个配置文件里的数据进行数据库读写分离的设置. 但是随着业 ...

  10. CentOS8安装Docker报错问题解决

    问题描述 CentOS版本:8.5.2111. # cat /etc/redhat-release CentOS Linux release 8.5.2111 安装准备: # 安装所需软件包 sudo ...