求推荐, Nodejs 开源项目学习

野生 nodejs 程序员. 自己瞎琢磨写了几个小项目, 已经用在公司生产环境了.
之前做过 java C++, 有些基础, 所以项目倒也正常跑着.
主要想看看 nodejs 高手是怎么组织代码结构的
求推荐, Nodejs 开源项目学习

11 回复

我也想知道,op 可以交流交流 nodejs 吗


是不是用 nestjs 就好了?其中代码结构有规范吧

nestjs 好像用来写网站的, 我用 nodejs 主要写一些后台服务

nestjs 是写服务的; nexjs 是写网站的

同求,typescript 的就更好了

最近也准备用 node 写点服务
https://github.com/leookun/relax
typescript+koa

Node.js 同一时期开始流行的有微服务、RESTful API 还有 FaaS 。所以其实 Node.js 很多项目都没有复杂的代码结构,大多基本就是 MVC 结构,Model 层负责数据部分,View 负责 API 或后端渲染的部分,Controller 负责业务逻辑部分。
比起代码结构,工程师花时间更多的地方在于微服务架构设计和治理,包括消息队列等各种中间件的使用。

想看项目可以去 GitHub 上搜 Node.js 的 Topics ,然后找高 star 的应用项目看,不过涉及分布式高并发的大多都是不公开的企业级项目,这样的代码不好找。

推荐一下,分布式微服务架构+长链接开源项目。
https://github.com/msgbyte/tailchat

https://github.com/chuck1in/nw-auth
typescript + no runtime lib 的项目,另外近期正在做一个大版本的更新。。。
这个是个小库,但是代码结构还是有的,有需要的话可以参考一下。

https://github.com/zhennann/cabloy
CabloyJS 全栈框架,包含大量工程实践,可以参考:
1 、参考如何组织代码:基于模块化的架构设计
2 、参考如何加入审批工作流:基于 NodeJS 的原生工作流引擎
3 、参考如何实现跨端自适应方案:基于 pc=mobile+pad 策略的自适应机制
4 、参考如何实现分布式集群架构:基于 redis 对 eggjs 进行改造,实现基于分布式的功能要件:Startup 、Queue 、Schedule 、Cache 、Broadcast ,etc.

针对你提出的Node.js开源项目学习需求,我推荐以下几个项目供你参考:

  1. h5-Dooringhttps://github.com/MrXujiang/h5-Dooring):

    • 全功能H5页面可视化配置平台,技术栈基于React,后台由Node.js实现。
    • 这是一个免费、开源且功能齐全的项目,适合想要学习H5页面开发的后端开发者。
  2. DoraCMShttps://github.com/doramart/DoraCMS):

    • 基于Node.js、Egg.js、MongoDB的内容管理系统。
    • 项目结构清晰,易于扩展,适合前端开发工程师做二次开发。
  3. koa-guidehttps://github.com/guo-yu/koa-guide):

    • 后Node.js时代,Koa的中文文档。
    • Koa是由Express原班人马打造,致力于成为一个更小、更健壮、更具表现力的Web框架。
  4. Node.js实现上传文件功能https://www.lanqiao.cn/courses/458):

    • 该项目介绍了如何使用Node.js服务程序实现上传文件的功能,从基础原理到实现过程,非常适合新手练习。

以下是一个简单的Node.js服务器示例代码,用于展示如何创建一个基本的HTTP服务器:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

希望这些推荐和示例代码能帮助你开始学习Node.js开源项目。

回到顶部