|
nest.js
需求不複雜的話:Express.jshttps://github.com/expressjs/express
@iwdmb 周下载量 24,602,530 ,这个绝对可以
express 和 koa 是偏底层的,nestjs 和 egg 是高一层的,刚刚恰好在看 nestjs ,很完善很强大,不过可能不适合你入门
@iwdmb Express 配合 mongodb 好还是 mysql ?
Express 用户量最大,本身包含一些组件(中间件)可以较快速搭建出一个 web 服务出来。koa 也是比较主流的框架,采取微内核的设计,主体只包含 web 服务核心部分,需要其他功能可以自己找相应的组件(中间件)进行搭配。因为很多框架提供的组件都适用于通用的业务,无法满足特定特殊业务场景,所以我使用最多的是 koa ,有现成的组件可以拿来用就用现成的,没有能直接用的就自己写一个。当然前面楼提到的其他的框架也可以看看,就是复杂度可能会比这两个高一些,有些是从其他语言的框架思想借鉴过来的。一般 Node.js 的教程会推荐使用 MongoDB ,因为从服务程序到数据库操作都是使用 JS/JSON 这一套的,实际上没有所谓搭配哪个好、搭配哪个不好。用什么数据库取决于你的数据特征,比如树状结构的数据可能适合非关系型数据库,而实体间关系较多的适合关系型数据库。每种数据库可能为 Node.js 提供了驱动包可以直接用,或者使用 sequelize 之类的 ORM 。后台管理网页可以像 PHP 那样使用模板机制渲染,如 EJS 模板引擎,或者 PUG 模板引擎;也可以考虑做成前后端分离的方案,比如另起一个前端项目用 React 或 Vue 写。
express 挺舒服的。B 端管理随便用 react 或者 vue 撸一个然后 express 的 statics 暴露下打包好的目录就好了
nestjs, nextjs, nuxtjs, 看你会哪个前端框架
熟悉 typescript:midwayjs, nestjs 。不熟悉:eggjs 。
首先排除 nestjs ,thinkjs 可以考虑
eggjs, 用不用 ts 都支持
@gouflv #10 thinkjs 一年多了作者自己都不咋维护了
项目不复杂的话我会选择 Koa ,访问数据库用 TypeORM ,如果需要后端渲染的话用 ejs 模板引擎前面有人提到 Express.js ,但是这个库在配合 async function 时有坑(不是不兼容 async function ,而是会遇到一些问题,要额外写代码解决)
laravel 不考虑下吗。
@angrylid 放弃 php 了
快速出活而且维护频率低的用 https://github.com/directus/directus ,设计好表结构一天出成果不断迭代的用 nest.js
@Chism >> Express 配合 mongodb 好还是 mysql ?這是一個可大可小的問題,如果你不確定怎麼選的話:MySQL有個久經考驗的 Transaction 必要的時候可以幫助你
nest
可以试试 Serverless ,出活比 mvc 框架快多了 推荐 faas.js
fastify ,adonisjs
小项目 express ,koa大项目 nest egg
next + prisma
上 Serverless 吧,省钱还省工作量,反正都是新学一个框架
nest.js 可能是最成熟的 node 后端框架了吧
koa + typeorm
https://nodejs.org/api/http.html不是自带吗
推荐 nestjs
学了 nestjs 差不多就顺手大概会了 angular 何乐不为呢
作为一个 php 跟 nodejs 都熟悉的人,个人猜测你问出这个问题,应该不是高手,所以我推荐你使用易上手的 eggjs 框架。不使用 Express 和 koa 是因为这两个框架太基础,很多东西要你手动再写。不使用 midwayjs, nestjs 是因为它们的概念理解对新手会造成更多心智负担(指的是相比 eggjs ),且中文文档不够丰富。
strapi 考虑下? 上个 pg 做数据库挺好用的
koa 和 express 都可以,但是 db 千万不要用 mongo ,辣鸡
nestjs , 原生支持 ts 很重要
@pkoukk 考虑 mongo 因为数据结构跟 json 兼容,方便处理
deno
nestjs 。还要再快的话,试试 strapi ,外包利器。
nest.js
koa.js 和 express.js 最大区别在于处理网络请求处理模型,前者为洋葱模型,后者为管道。nest.js 这类有控制器、中间件、过滤器等概念,更符合 Java 、C# 开发逻辑。要说新手容易上手,还得是 express.js ,概念较少,官方轮子够多
nestjs 感觉不错
作为一个老 Node.TS 开发者,给你些框架选型建议NestJS:不建议裸用 koa/express ,他们是底层框架,在其上实现拦截器 /身份认证 /三方登录等需要花费的时间要多很多。Prisma2: 作为 TypeORM 早期贡献者,我不推荐你在 2022 年的今天还使用 TypeORM ,Prisma2 的工具链和开发体验都非常流畅。你还可以考虑下 postgresql ,既可以用 JSONB 存储,又不丢失 ACID 的所有好处
https://github.com/mingyang91/ticketing
再给你一个我自己的热身项目,就是用我上面说的技术栈,并且还支持 Serverless 部署。
koa2
nestjs ,要 crud 搭配 nestjs-query ( graphql )或 @nestjsx/crud ( restful )
轻量底层框架:fastify 、express上层框架:NestJS其它观点同#39 楼
我也新手推荐 Fastify + Cloud RunExpress 就算了吧
koa + mogoose
目前需求是这样:1. 后端数据库存储数据,同时给 C 端前端提供 api 进行 curd2. 后端需要对接第三方 api3. 给 B 端提供后台管理网页你直接上 koa2 ,吊打所有框架。这样的业务最好用 koa2 了,非常 nice 的一个框架,核心代码就 100 行,牛逼就是了。脚本语言简单。koa2 的比较基础,迁移到 serverless ,云函数,云小程序,都非常的方便。
Nest.jsExpress 和 Koa2 就算了,过时了,过于底层,好比你用 jq 写网站一样过于简陋。社区也不活跃。
还是 Express 吧,说实话这个写起来还是很舒服的,我把公司 微服务都换成 Express 了。 还是 Express 好用,Nest.js 上层的东西太多了。 问题很大,如果搞不明白 Nest.js 里面的 运行原理 感觉就跟 Spring Boot 莫名其妙的的升个级就挂了。。。 用 Express 的话 逻辑大多都是自己的,然后项目结构合理,很方便的。
@star7th 非常赞同
不妨试试 remix.js ,虽然比较新但是确实很棒
@jsq2627 REMIX.RUN 吗 他算是个全栈框架 输出 API 不太适合,按照楼主的需求 简单点的 NEXT.JS+PRISMA 就能胜任
建议你放弃使用 nodejs 做后端
用 express ,其实不如用 koa 更现代一点点。不过要大而全集成可以试试 nest.js 。用 node.js 后端开发 5 年了,很爽
egg
原是 Javaer ,不喜欢在 node 系也使用 Spring 注解那一套东西,目前在用 koa2 + mongoose + ts ,挺喜欢的。
我同意 #29 的观点。最适合你的框架应该就是 egg.js ,因为它足够简单但是功能又很强,已经封装了绝大多数日常需要的功能。底层就是 koa ,如果你要从 koa 或者 express 这些起步,光是搭架子都得很久。用 egg 的话新建一个项目就可以直接开撸了,cluster 啥的也都帮你弄好了,你只需要一句命令的的事。orm 用 sequelize 之类的就好了。nest 那些是有学习成本的,你需要了解它的概念,还得自己搭架子等等。如果你是开一个大的长期的项目,那可以考虑用 nest ,毕竟是流行趋势,趋势不可挡。db 用什么是跟你的业务有很大关系的,如果你不知道选什么,就选 mysql 好了。
@Chism pg 也支持 json 。但是一般不需要存 raw json 进去,找一些 orm 框架更合适。存一堆 json 进 mongo 里,最常见到的事情就是里面有一大堆奇怪的数据,一会儿这条缺字段,一会儿那条字段数据格式不对,处理数据处理到头秃
eggjs ,正如 57 楼说的一样,eggjs 约定式的方式,很多东西都不用纠结中间件怎么技术选型,不同中间件之间混搭踩坑之类的
@pkoukk 确实有这个问题,我还遇到过 input 标签的数字直接插入导致 mongo 里本来放 number 的一部分是 string
话说 egg 是阿里开源的吗?阿里的开源软件敢用吗?
koa 用过最好用的,想怎么扩展加中间件就好了,用起来爽的一笔,node 不是 JAVA 没必要用注解,即使 node 按 java 一样规范了,后期维护还是比较困难
koa 啊,js 不就是怎么爽怎么来吗,不要搞 java 那一套
@lmshl nestjs 底层 HTTP 框架选啥呢, platform-express 还是 platform-fastify?
AdonisJS ,你会找到 Laravel 的感觉
koa express 不是 demo 产生器吗?求求不要推荐害人了或者你要自己根据这两个当作底层写框架?
express,koa,eggjs 写完会让你产生在写玩具的感觉,很脆弱,现在写 Node 后端无脑 nestjs
nest.js 有公司招人吗?前后端都会点
现在正在用 egg ,我感觉很不错。阿里为数不多的良心产品
作为一个前端仔,没有后端经验,对 js 很熟 的人的建议
TypeScript 如日中天, 不支持 ts / 支持不好, 就等着被淘汰吧~目前来看 nest 比较好用.关于 express / koa, express 多少年了还在 4.xkoa 太薄了, 很多东西要新写, 不用 ts 的话可以试试我移植的 impress-router / impress-router-tablehttps://magicdawn.github.io/common-docs/docs/impress-routerhttps://github.com/magicdawn/impress-router-table
express 、koa 、nest 、egg ,都属于工具框架,都好学,但是用于业务开发都不容易,因为账户体系、权限体系、数据管理体系、审批工作流、消息推送,等等,所有与业务相关的工作都需要自己做强烈建议了解一下 CabloyJS 开源全栈框架,这是一款教科书级的 NodeJS 框架,内置工作流引擎,内置大量业务组件,开发 CRUD 、开发中后台,都很方便,而且还不仅仅是这些
试试我开发的 mvc 框架 jj.js ,语法跟 thinkphp 相似,你会很快上手的。
也是 PHP 出身,之前转 nodejs 用的是 thinkjs ,不过有段时间没有维护了目前在用 eggjs ,也挺顺手。
可以了解下 feathersJS
|
|