下拉刷新
JavaScript 项目

这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub JavaScript 项目 集合。

1
alpine
Star 3.1w
Vol.117
5 天前

极简轻量级 JavaScript 框架。这是一个轻量级、极简的 JavaScript 框架,专为前端交互设计,提供类似 Vue 的声明式语法,但无需构建工具,可直接在 HTML 中使用。适用于为静态页面增强交互体验,如表单处理、模态框、手风琴菜单等,既解决了 jQuery 繁琐的 DOM 操作,又避免了 Vue/React 等框架的复杂性和性能开销,非常适合前后端分离的轻量级项目或仅需少量动态行为的页面。

<div x-data="{ count: 0 }">
    <button x-on:click="count++">Increment</button>
 
    <span x-text="count"></span>
</div>
Star 943
Vol.117
13 小时前

开箱即用的聊天记录分析工具。这是一款本地优先的聊天记录分析工具,无需上传数据到云端(AI 功能除外),支持 SQL 查询和 AI 智能挖掘、回顾个人聊天历史。

ChatLab
3
dev
Star 7.4k
Vol.117
5 个月前

多功能 Web 代码编辑器组件。该项目是知名 Web 代码编辑器组件 CodeMirror 的核心开发仓库。通过 npm 即可安装,轻松开发出一个可扩展、易用的代码编辑器,支持语法高亮、自动补全、错误提示、代码折叠等功能。

dev
Star 248
Vol.117
9 天前

纯文字的太空策略游戏。这是一款基于 TypeScript 和 Vue 3 构建的纯文字太空策略游戏,灵感源自经典的 OGame 银河帝国游戏。玩家将在银河系中建设行星与月球、发展科技、打造舰队和防御系统,并进行进攻星球、军官招募等策略玩法。

ogame-vue-ts
Star 1.2k
Vol.117
12 天前

极简零依赖 PDF 生成库。这是一个用 TypeScript 开发的 PDF 生成库,压缩后体积仅 3.3KB,核心代码不到 400 行。它删除了自定义字体、图片、压缩等非必要功能,适用于生成发票、收据、证书等简单文档。

import { pdf } from 'tinypdf'
import { writeFileSync } from 'fs'

const doc = pdf()

doc.page((ctx) => {
  ctx.rect(50, 700, 200, 40, '#2563eb')           // blue rectangle
  ctx.text('Hello PDF!', 60, 712, 24, { color: '#ffffff' })
  ctx.line(50, 680, 250, 680, '#000000', 1)       // black line
})

writeFileSync('output.pdf', doc.build())
6
cesium
Star 1.5w
Vol.116
2 天前

3D 地理空间的 JavaScript 库。该项目是用于在 Web 网页中创建交互式 3D 地球和 2D 地图的 JavaScript 库,它利用了 WebGL 技术来加速图形处理,具备较好的渲染速度,可处理海量数据和动态数据可视化,支持地形和三维瓦片(3D Tiles)等多种数据格式,适用于构建地理信息系统(GIS)等 Web 应用。

import { Viewer } from "cesium";
import "cesium/Build/Cesium/Widgets/widgets.css";

const viewer = new Viewer("cesiumContainer");
cesium
Star 2.2k
Vol.116
1 个月前

自动兼容错误 JSON 格式的 JavaScript 库。这是一个用于修复/解析多种错误 JSON 格式的 JavaScript 库,与 JSON.parse() 遇到格式错误直接抛出异常不同。它可以自动处理常见的 JSON 格式问题,如键名缺失引号、单引号代替双引号、尾部多余逗号、缺失逗号和换行符不规范等。

import { jsonrepair } from 'jsonrepair'

try {
  // The following is invalid JSON: is consists of JSON contents copied from 
  // a JavaScript code base, where the keys are missing double quotes, 
  // and strings are using single quotes:
  const json = "{name: 'John'}"
  
  const repaired = jsonrepair(json)
  
  console.log(repaired) // '{"name": "John"}'
} catch (err) {
  console.error(err)
}
Star 2.3k
Vol.116
17 小时前

炫酷 3D 球体年会抽奖应用。这是一个基于 Three.js 和 Vue.js 构建的年会抽奖工具,支持导入人员名单、设置奖品/奖项、播放背景音乐、临时抽奖等功能。

log-lottery
Star 5k
Vol.116
3 天前

免费开源的屏幕录制工具。这是一款免费且开源的屏幕录制工具,可作为 Screen Studio 的轻量级替代品,支持应用录制、修改背景、自定义缩放时长等功能,适用于 Windows 和 macOS 系统。

openscreen
10
stylex
Star 9k
Vol.116
20 小时前

易扩展的 CSS-in-JS 解决方案。该项目是 Meta 开源的 CSS-in-JS 库,支持在 JavaScript 中定义样式,并在编译时自动优化和提取为独立的 CSS 文件,不仅消除运行时的性能开销,还能彻底避免样式冲突。

import * as stylex from '@stylexjs/stylex';

const styles = stylex.create({
  root: {
    padding: 10,
  },
  element: {
    backgroundColor: 'red',
  },
});

const styleProps = stylex.props(styles.root, styles.element);