扫一扫
关注 HG 公众号
发现更多开源乐趣

JavaScript 项目

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的兴趣。

automa

第 68 期 Star 2.7k Watch 38 Fork 221
通过图形化界面拖拽功能模块,实现浏览器自动操作的扩展工具。轻松实现自动填表、截图、定时执行等操作。让浏览器自动完成预设工作流的插件,从而减少重复性操作提高效率
automa

pm2

第 68 期 Star 36.0k Watch 669 Fork 2.3k
Node.js 的进程管理工具。它容易上手操作简单,可以有效地提高 Node.js 程序运行的稳定性,支持自动重启、负载均衡、不停服务重启、性能监控等功能,多用于生产环境中管理、监控 Node.js 进程
pm2

colorfu

第 68 期 Star 167 Watch 2 Fork 25 中文
自动生成由文字/颜色/图片/纹理元素组成的壁纸。在线尝试
colorfu

vue-color-avatar

第 68 期 Star 603 Watch 3 Fork 62 中文
纯前端实现的矢量风格头像生成网站。可以通过搭配不同的素材,生成个性化头像。该项目使用 Vite + Vue3 开发,能够帮助前端初学者熟悉 Vue3 语法并掌握项目搭建的相关知识
vue-color-avatar

semi-design

第 67 期 Star 4.8k Watch 61 Fork 311
抖音开源的中后台前端解决方案。包含设计语言、React 组件、主题,开箱即用可快速搭建美观的 React 应用

  • 使用 TypeScript
  • 强大的主题定制
  • 国际化
  • 支持 SSR

semi-design

lexer

第 67 期 Star 164 Watch 4 Fork 7 中文
在线编程语言词法分析器。基于 DFA 算法实现支持多语言扩展,可用于代码编辑器的语法高亮等场景。同时项目的代码量少还有详细的源码讲解文档,适合对词法分析感兴趣的小伙伴学习。在线尝试

// 词法分析器
let lexer = {
    // 有限状态自动机 deterministic finite automaton
    DFA: {
        result: {
            matchs: [], // 已匹配的字符队列
            tokens: [], // 已生成的token列表
        },
        state: DFA_STATE_CONST.S_RESET, // 当前机器的状态
        events: {
            flowtoNextState(ch, state) {
                lexer.DFA.resultChange.pushToMatchs(ch);
                lexer.DFA.state = state;
            },

            flowtoResetState() {
                lexer.DFA.state = DFA_STATE_CONST.S_RESET;
            },
        },
    },
};

lexer

city-roads

第 67 期 Star 4.5k Watch 79 Fork 322
自动生成任意城市的道路图。采用 OpenStreetMap 的免费数据实现城市道路可视化,还支持导出图片用这些图片做壁纸感觉很酷。在线尝试
city-roads

towxml

第 67 期 Star 1.7k Watch 31 Fork 252 中文
可将 HTML 和 Markdown 转为微信小程序 WXML 的库。用于解决在微信小程序上 Markdown、HTML 不能直接渲染的问题
towxml

React95

第 67 期 Star 4.9k Watch 30 Fork 138
复古的 Win95 样式 React 组件。在线预览
React95

Leaflet

第 67 期 Star 32.5k Watch 921 Fork 5.1k
对移动端友好的交互式地图 JavaScript 库。它久负盛名且简单易用,别看它小但包含了地图常用功能。Leaflet 极易上手,几行代码就能实现地图功能,且支持多种地图数据源。很多大厂都在用它,可放心在生产环境中使用。中文官网

var map = L.map('map').setView([51.505, -0.09], 13);

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '©OpenStreetMap contributors'
}).addTo(map);

L.marker([51.5, -0.09]).addTo(map)
    .bindPopup('A pretty CSS3 popup.<br> Easily customizable.')
    .openPopup();

Leaflet