程序聚合 软件案例 Node.js开源包-nodelib2

Node.js开源包-nodelib2

2025-06-21 18:21:55
行业:电商、内容平台
载体:框架或代码包
技术:Node.js

业务背景

这个开源框架原本是企业内部使用,为了应对一些快速开发的小型项目。

2016年时的nodejs开源框架远没有今天功能完善,要么过于复杂学习及试错成本太高,对于小项目短平快来说完全不适用,因此在当时开发了一个应对极速交付的全栈框架。

时至今日,在前后端逐渐发展的当下,这套框架也不断完善功能,摈弃了前端部分,逐渐演变成了完全面向服务端及nodejs工具链开发的框架,适用于Http服务构建,API服务开发,CI/CD开发,效率工具开发等。

功能介绍

1. 配置化的服务构建方式,对入门级开发者及自动化生成网站构建服务非常友好,只需要生成一个配置就能自动搭建网站服务端。

2. 支持http/https服务构建,mysql/redis连接池,基于websocket的API服务开发等

3. 针对不同的网站类型实现了多种配置方案,比如API服务用标准模块进行配置,前端静态文件服务采用动态读取webroot的方式,前端动态网站如SPA等支持动态路由重定向返回正确的页面代码及url参数。

4. 支持命令行脚本开发(实现了精简的命令行生成器, 通过json配置实现命令行的解析, usage的生成等),支持字段校验,自定义校验,选项,别名,子命令等诸多功能,但整体实现比commander小10倍。

5. 实现了一个SQL语句构造器,支持动态sql解析,防注入等(目前只支持Mysql)

6. 实现了fs的常用功能,在原生基础上封装了常见的比如动态的获取文件列表的需求等
(比如文件列表获取这种操作往往需要过滤筛选结果,如果文件数量较多目录层级较深,性能会非常低,我实现的file模块优化了这一点,支持动态规则,支持gitignore导入等),并提供了同步和异步两种调用方式。

7. 开发了多达40+的常用内置类的扩展方法,所有方法基本都兼顾了异步调用语法和链式调用语法,让开发人员有效减少了约30%的编码量,大大提升开发效率。

8. 内置提供了诸多开发过程中的常用命令行工具,如ver命令可以查看项目已安装的包,包版本,包依赖分析等;如openthis可以快速使用命令行在当前目录启动一个http静态文件服务以分发目录内的文件;如imgthis命令行工具可以迅速处理一个图片(尺寸及品质调整),对前端临时处理图片特别友好。如uget支持以命令行方式调试接口,下载文件等。所有工具都是遵循了以快制快的原则,一行命令能解决的问题绝不多开一个工具,在电脑当前屏幕就能解决的问题绝不用鼠标在切换到别的工具上到处点。

项目实现

整个项目由我独立实现及维护,自动2016年开始,2018年首次运用到千万级的项目中,之后对框架的性能开始不断升级完善。并不断参看研究了Express, Koa, Next.js等流行开发框架做功能、性能及安全性方面的对照。

目前v3.0的版本正在准备过程中,实现了重大升级,主要调整了路由能力,及中间件的引入方式。

示例图片视频


billypc
30天前活跃
方向: 前端-Web前端、后端-Node.js、
交付率:100.00%
相似推荐
雅迪传媒办公协同平台升级改造
鉴于存在以上问题,同时考虑到扩展性和后期使用成本,本司使用低代码Paas平台,结合客户公司的IM工具钉钉,将两者集成在一起,搭建了全新办公协同系统。 除了能实现传统OA的所有功能外,还能实现以下功能: 1. 消息提醒直接通过钉钉推送,避免了消息漏看情况的发生,提升了审批时效; 2. 可直接使用钉钉账号登录OA,实现SSO,无需打开浏览器、输入用户名/密码; 3. 移动端无需单独安装APP,解决了手机兼容性问题; 4. 对所有审批流程进行重新授权、优化,使审批效率提升40%; 5. 低代码Paas平台,使后续表单、流程的维护,无需再次投入费用,极大节省了运维成本;
受PLC控制的视频客户端软件
视频切换:操作台控制哪台卸船机受plc控制,该客户端软件会实时读取PLC的指令,当PLC的指令发生变化时,实时切换对应的卸船机的视频。 视频预览:界面的左侧包括树形图,双击可以单独观看看到五条卸船机上的任意摄像头画面。 四个界面:工作人员可以通过四个不同的界面观看卸船机的作用情况; 云台控制:工作人员能通过界面的上的上下左右键控制摄像头的运动,以此来观看不同的画面。
卸船机管理软件
对使用者来说,使用者只接触前端网站,该网站包括众多的可视化和数据查询模块,包括: 实时数据: 如果卸船当前正在作业,该模块会展现当前卸船机的作业情况,包括作业的船型、卸船机累计抓取量、卸船机的位置、卸船机的作业进度等等。 司机管理与班组管理: 使用者可以在此录入班组的信息和司机的信息,该信息会关联到其他作业数据查询中; 船型管理: 使用者在此录入船型信息,该信息会用于作业船型的判断; 班组统计: 该模块可以以司机、班组、卸船机、操作台、时间段作为查询条件,查询卸船机作业信息,另外还可以计算作业总量、作业时间、作业效率、平均作业量、平均作业时间等一系列相关作业信息; 月度统计: 与班组统计类似,该模块以月度为单位对作业信息进行统计;
安徽省居民身份证管理系统
1、全省身份证业务派出所的受理、制证中心的审核签发、信息核验、证件制证、证件签收、证件领取等。 2、全国异地身份证信息导入、制证与反馈。 3、军人证数据导入、制证与反馈。 4、速递证管理。 5、工本费管理。 6、数据统计分析大屏。
财务共享RPA开发
1、开发RPA流程替代人工完成规则固定、工作量大、重复性高的工作。 2、实现财务月结自动化,代替财务人工月结,提升月结效率,减少人员工作量。 3、为业务部门实现大量重复性工作,节约大量人力资源。 4、根据设定任务,定时执行,代替人工出具大量报表。
帮助文档   Copyright @ 2021-2024 程序聚合 | 浙ICP备2021014372号
人工客服