🚀2021年6月25日,GitHub上面向Web开发者的十大热门项目
类型状态
包裹恐惧症
DenoDB
尺寸限制

react-headroom
React面试题及答案
Intro.js
剪贴板.js
《热门项目》以每周新闻简报的形式提供,请访问www.iainfreestone.com注册,以确保您不会错过任何一期。
1. 类型统计
将 JavaScript 转换为 TypeScript,并将 TypeScript 转换为更好的 TypeScript。
将 JavaScript 转换为 TypeScript,并将 TypeScript 转换为更好的 TypeScript。🧫
类型状态
将 JavaScript 转换为 TypeScript,并将 TypeScript 转换为更好的 TypeScript。🧫

用法
TypeStat 是一个命令行实用程序,用于修改现有代码中的 TypeScript 类型。其内置的修改器只会添加或删除类型,绝不会改变运行时行为。TypeStat 可以:
- ✨ 一步到位,轻松将 JavaScript 文件转换为 TypeScript!
- ✨ 为刚刚从 JavaScript 转换为 TypeScript 的文件添加 TypeScript 类型!
- ✨ 推断需要修复的类型
--noImplicitAny和--noImplicitThis违规行为!
- ✨ 标注缺失的
nulls 和undefineds,助你入门--strictNullChecks!
⚡ 首先,该typestat命令将启动一个交互式指南,指导您设置配置文件。⚡
npx typestat
👋 Welcome to TypeStat! 👋
This will create a new typestat.json for you.
...
之后,用它typestat --config typestat.json来转换文件。
配置
要更深入地了解 TypeStat,请按顺序阅读以下文档页面:
- Usage.md用于…
2. 包裹恐惧症
查找向项目中添加新依赖项的成本。Package Phobia 会在您安装 npm 包之前报告其大小。

包裹恐惧症


- ⚖️ 计算向项目中添加新依赖项的成本
- 🕗 使用这款网页应用,节省您的时间和磁盘空间
- 📈 使用图表检测 JavaScript 代码随时间推移的膨胀情况
- 🛡️ 为你的 README 文件获取徽章/盾牌
- 📡 从 JSON API 获取尺寸,以便集成到任何工具中
……正如在AWS Developer Tools Blog、npm weekly、ponyfoo weekly、habr、rwpod、wolf report、changelog以及 Twitter 上看到的那样。
目的是什么?
Package Phobia 会在您安装npm 包之前报告其大小。
这对于检查潜在问题非常有用dependencies,而且devDependencies不会占用宝贵的磁盘空间或等待数分钟npm install。谁有时间等那个啊。
结果会被保存,所以第一个人可能需要稍等片刻才能看到包裹大小,但其他人都能立即看到结果!
一个…
3. DenoDB
适用于 Deno 的 MySQL、SQLite、MariaDB、PostgreSQL 和 MongoDB ORM。简洁、类型化的 API
Deno 的 MySQL、SQLite、MariaDB、PostgreSQL 和 MongoDB ORM

DenoDB
⛔️ 本项目目前未进行积极维护:审核可能会出现问题和延迟。
- 🗣 支持 PostgreSQL、MySQL、MariaDB、SQLite 和 MongoDB
- 🔥 简单、类型化的 API
- 🦕 Deno-ready
- 请阅读文档
import { DataTypes, Database, Model, PostgresConnector } from 'https://deno.land/x/denodb/mod.ts';
const connection = new PostgresConnector({
host: '...',
username: 'user',
password: 'password',
database: 'airlines',
});
const db = new Database(connection);
class Flight extends Model {
static table = 'flights';
static timestamps = true;
static fields = {
id: { primaryKey: true, autoIncrement: true },
departure: DataTypes.STRING,
destination: DataTypes.STRING,
flightDuration: DataTypes.FLOAT,
};
static defaults = {
flightDuration: 2.5,
};
}
db.link([Flight]);…
4. 尺寸限制
计算运行您的 JS 应用或库以保持良好性能的实际成本。如果成本超出限制,请在 pull request 中显示错误信息。
计算运行您的 JS 应用或库以保持良好性能的实际成本。如果成本超出限制,请在 pull request 中显示错误信息。
尺寸限制

Size Limit 是一个 JavaScript 性能预算工具。它会检查 CI 上的每一次提交,计算最终用户执行 JavaScript 的实际成本,如果成本超过限制,则会抛出错误。
- ES 模块和tree shaking支持。
- 在GitHub Actions、Circle CI或其他 CI 系统中添加大小限制,以便了解拉取请求是否添加了庞大的依赖项。
- 模块化设计,可适应不同的使用场景:大型 JS 应用程序(使用自己的打包器)或包含大量文件的小型 npm 库。
- 可以计算浏览器下载并执行你的JS文件所需的时间。与文件大小(以字节为单位)相比,时间是一个更准确、更容易理解的指标。
- 计算包括JS 中使用的所有依赖项和 polyfill 。

使用GitHub action Size Limit,可以将捆绑包大小的更改作为评论发布到 pull request 讨论中。

有了--why“尺寸限制”功能,您可以了解……
5. 福尔摩斯
在页面内进行快速便捷的搜索。Holmes 仅需约 2KB 的空间,即可根据输入值筛选元素列表。
在页面内快速轻松地进行搜索。

inputHolmes仅用约 2KB 的数据,就根据 a 的值过滤了一个元素列表。
安装
您可以使用 `--install`npm或 ` bower--install` 包名安装 Holmes holmes.js。例如npm,安装方式如下:
$ yarn add holmes.js # or via npm
之后,您可以使用 webpack、rollup、browserify 等工具将其添加到您的页面中,或者在不同的脚本标签中加载该模块。
您必须确保css为该类设置一条规则.hidden,以便按您想要的方式隐藏元素。一种方法是这样做:
.hidden {
display: none;
}
但这可以是css你想要的任何一种。
用法
演示
我应该在什么情况下使用它?
你应该在以下情况下使用福尔摩斯:
- 您的物品数量有限。
- 你不需要容错机制
- 你只想添加一个非常小的库
- …
6. react-headroom
暂时隐藏页眉,需要时再显示。
react-headroom
暂时隐藏页眉,需要时再显示。
演示
http://kyleamathews.github.io/react-headroom
安装
npm install react-headroom
用法
一个简单的例子,更多例子和文档请参见文档网站。
<Headroom>
<h1>You can put anything you'd like inside the Headroom Component</h1>
</Headroom>
7. React面试问答
ReactJS面试题及答案精选500道。
ReactJS 面试题及答案精选 500 道……编程练习题即将推出!!
8. Intro.js
轻量级、用户友好的新手引导教程库
Intro.js

用户引导和产品演示库
哪里可以买到
您可以从以下位置获取 Intro.js 的本地副本:
1)这个 GitHub 仓库,使用git clone https://github.com/usablica/intro.js.git
2)使用纱线yarn add intro.js
3)使用 npmnpm install intro.js --save
4)从 CDN 下载 ( 1 , 2 )
如何使用
只需三个简单步骤即可将 Intro.js 添加到您的网站:
1)在您的页面中包含intro.js(introjs.css或用于生产环境的压缩版本)。用于introjs-rtl.min.css支持从右到左的语言。
CDN托管文件可在jsDelivr(点击“显示更多”)和cdnjs上获取。
2)将 `<p> data-intro` 和`<p>` 添加data-step到您的 HTML 元素中。要添加提示,您应该使用data-hint`<p>` 属性。
例如:
<a href='http://google.com/' data-intro='Hello step one!'></a>
点击此处查看所有属性。
3)调用以下 JavaScript 函数:
introJs().start();
…
9. clipboard.js
现代复制到剪贴板格式。无需 Flash。压缩后仅 3kb。
✂️ 现代复制到剪贴板功能。无需 Flash。压缩后仅 3kb 📋
剪贴板.js

现代复制到剪贴板格式。无需 Flash。压缩后仅 3kb。

为什么
将文本复制到剪贴板不应该很困难。它不应该需要几十个步骤来配置,也不应该加载数百KB的数据。但最重要的是,它不应该依赖Flash或任何臃肿的框架。
这就是 clipboard.js 存在的意义。
安装
你可以在 npm 上找到它。
npm install clipboard --save
或者,如果您不喜欢软件包管理,可以直接下载 ZIP文件。
设置
首先,包含位于文件夹中的脚本,或者从第三方 CDN 提供商dist加载它。
<script src="dist/clipboard.min.js"></script>
现在,你需要通过传递 DOM 选择器、HTML 元素或HTML 元素列表来实例化它。
new ClipboardJS('.btn');
内部我们需要获取所有与你的选择器匹配的元素,并为每个元素添加事件监听器。但是你猜怎么着……
10. 下一个站点地图
Next.js 网站地图生成器。为所有静态/预渲染/动态/服务器端页面生成网站地图和 robots.txt 文件。
Next.js 网站地图生成器。为所有静态/预渲染/动态/服务器端页面生成网站地图和 robots.txt 文件。

目录
入门
安装
yarn add next-sitemap
创建配置文件
next-sitemapnext-sitemap.config.js需要在项目根目录下放置一个基本配置文件( )。
✅默认情况下next-sitemap会从文件中加载环境变量.env。
/** @type {import('next-sitemap').IConfig} */
module.exports = {
siteUrl: process.env.SITE_URL || 'https://example.com',
generateRobotsTxt: true, // (optional)
// ...other options
}
构建站点地图
添加 next-sitemap 作为您的 postbuild 脚本
{
"build": "next build",
"postbuild": "next-sitemap"
}
自定义配置文件
您也可以使用自定义配置文件代替默认配置文件next-sitemap.config.js。只需将其传递--config <your-config-file>.js给构建命令即可(例如:custom-config-file)。
{
"build"…
观星📈
过去7天涨幅最大的股票
- 幻灯片+1,056 颗星
- JavaScript 算法+908 星
- 算法可视化工具+884 星
- 编程面试大学+864 星
- Tailwindcss +791 星
过去 7 天增长幅度最大(%)
- 幻灯片+41%
- Nano Stores +34%
- React Virtual Cool +27%
- 百万+17%
- 轻弹+17%
过去 30 天涨幅最大的股票
- 编程面试大学+11,825 星
- 公共 API +7,051 星
- 免费编程书籍+5,253 星
- Slidev +4,050 颗星
- JavaScript 算法+3,029 星
过去 30 天增长幅度最大(%)
- 图+74%
- Vuestic UI +59%
- 持牌人+50%
- 轻弹+41%
- Slidev +39%
《热门项目》以每周新闻简报的形式提供,请访问www.iainfreestone.com注册,以确保您不会错过任何一期。
如果你喜欢这篇文章,可以关注我的推特账号,我会定期发布与HTML、CSS和JavaScript相关的实用技巧。
文章来源:https://dev.to/iainfreestone/10-trending-projects-on-github-for-web-developers-25th-june-2021-4lfk