1 golangLover 2022-03-28 17:53:10 +08:00 via Android ![]() nest.js |
2 iwdmb 2022-03-28 17:54:09 +08:00 |
![]() | 4 awesomes 2022-03-28 18:07:55 +08:00 express 和 koa 是偏底层的,nestjs 和 egg 是高一层的,刚刚恰好在看 nestjs ,很完善很强大,不过可能不适合你入门 |
![]() | 6 libook 2022-03-28 18:28:59 +08:00 ![]() Express 用户量最大,本身包含一些组件(中间件)可以较快速搭建出一个 web 服务出来。 koa 也是比较主流的框架,采取微内核的设计,主体只包含 web 服务核心部分,需要其他功能可以自己找相应的组件(中间件)进行搭配。 因为很多框架提供的组件都适用于通用的业务,无法满足特定特殊业务场景,所以我使用最多的是 koa ,有现成的组件可以拿来用就用现成的,没有能直接用的就自己写一个。 当然前面楼提到的其他的框架也可以看看,就是复杂度可能会比这两个高一些,有些是从其他语言的框架思想借鉴过来的。 一般 Node.js 的教程会推荐使用 MongoDB ,因为从服务程序到数据库操作都是使用 JS/JSON 这一套的,实际上没有所谓搭配哪个好、搭配哪个不好。 用什么数据库取决于你的数据特征,比如树状结构的数据可能适合非关系型数据库,而实体间关系较多的适合关系型数据库。每种数据库可能为 Node.js 提供了驱动包可以直接用,或者使用 sequelize 之类的 ORM 。 后台管理网页可以像 PHP 那样使用模板机制渲染,如 EJS 模板引擎,或者 PUG 模板引擎;也可以考虑做成前后端分离的方案,比如另起一个前端项目用 React 或 Vue 写。 |
![]() | 7 indo 2022-03-28 19:10:25 +08:00 ![]() express 挺舒服的。B 端管理随便用 react 或者 vue 撸一个然后 express 的 statics 暴露下打包好的目录就好了 |
![]() | 8 catinsides 2022-03-28 19:13:37 +08:00 nestjs, nextjs, nuxtjs, 看你会哪个前端框架 |
![]() | 9 acthtml 2022-03-28 19:20:03 +08:00 熟悉 typescript:midwayjs, nestjs 。 不熟悉:eggjs 。 |
![]() | 10 gouflv 2022-03-28 19:28:15 +08:00 via iPhone 首先排除 nestjs ,thinkjs 可以考虑 |
![]() | 11 edward1987 2022-03-28 19:38:38 +08:00 eggjs, 用不用 ts 都支持 |
![]() | 13 ysc3839 2022-03-28 19:57:44 +08:00 via Android 项目不复杂的话我会选择 Koa ,访问数据库用 TypeORM ,如果需要后端渲染的话用 ejs 模板引擎 前面有人提到 Express.js ,但是这个库在配合 async function 时有坑(不是不兼容 async function ,而是会遇到一些问题,要额外写代码解决) |
![]() | 14 wakarimasen 2022-03-28 19:59:54 +08:00 via Android laravel 不考虑下吗。 |
![]() | 16 slowgen 2022-03-28 20:07:41 +08:00 ![]() 快速出活而且维护频率低的用 https://github.com/directus/directus ,设计好表结构一天出成果 不断迭代的用 nest.js |
17 iwdmb 2022-03-28 20:40:23 +08:00 |
18 meteor957 2022-03-28 20:54:46 +08:00 nest |
19 mikurasa 2022-03-28 20:57:36 +08:00 可以试试 Serverless ,出活比 mvc 框架快多了 推荐 faas.js |
![]() | 20 shiny 2022-03-28 21:19:40 +08:00 fastify ,adonisjs |
![]() | 21 musi 2022-03-28 21:47:10 +08:00 小项目 express ,koa 大项目 nest egg |
![]() | 22 hhhanako 2022-03-28 22:02:25 +08:00 next + prisma |
![]() | 23 Rocketer 2022-03-28 22:03:03 +08:00 via iPhone 上 Serverless 吧,省钱还省工作量,反正都是新学一个框架 |
![]() | 24 mashirozx 2022-03-29 00:29:11 +08:00 via Android nest.js 可能是最成熟的 node 后端框架了吧 |
![]() | 25 joyqi 2022-03-29 01:16:17 +08:00 koa + typeorm |
![]() | 26 ericls 2022-03-29 05:17:07 +08:00 via iPhone |
![]() | 27 scyuns 2022-03-29 08:38:44 +08:00 推荐 nestjs |
![]() | 28 linkopeneyes 2022-03-29 08:42:50 +08:00 学了 nestjs 差不多就顺手大概会了 angular 何乐不为呢 |
29 star7th 2022-03-29 08:59:27 +08:00 ![]() 作为一个 php 跟 nodejs 都熟悉的人,个人猜测你问出这个问题,应该不是高手,所以我推荐你使用易上手的 eggjs 框架。不使用 Express 和 koa 是因为这两个框架太基础,很多东西要你手动再写。不使用 midwayjs, nestjs 是因为它们的概念理解对新手会造成更多心智负担(指的是相比 eggjs ),且中文文档不够丰富。 |
![]() | 30 leisure 2022-03-29 09:23:07 +08:00 strapi 考虑下? 上个 pg 做数据库挺好用的 |
![]() | 31 pkoukk 2022-03-29 09:41:26 +08:00 koa 和 express 都可以,但是 db 千万不要用 mongo ,辣鸡 |
32 horizon 2022-03-29 09:45:47 +08:00 nestjs , 原生支持 ts 很重要 |
![]() | 34 hotsymbol 2022-03-29 10:16:37 +08:00 deno |
35 scr 2022-03-29 10:18:17 +08:00 nestjs 。 还要再快的话,试试 strapi ,外包利器。 |
36 terranboy 2022-03-29 10:22:16 +08:00 nest.js |
37 leoskey 2022-03-29 10:30:38 +08:00 ![]() koa.js 和 express.js 最大区别在于处理网络请求处理模型,前者为洋葱模型,后者为管道。 nest.js 这类有控制器、中间件、过滤器等概念,更符合 Java 、C# 开发逻辑。 要说新手容易上手,还得是 express.js ,概念较少,官方轮子够多 |
![]() | 38 santom 2022-03-29 10:30:56 +08:00 nestjs 感觉不错 |
39 lmshl 2022-03-29 12:06:23 +08:00 ![]() 作为一个老 Node.TS 开发者,给你些框架选型建议 NestJS:不建议裸用 koa/express ,他们是底层框架,在其上实现拦截器 /身份认证 /三方登录等需要花费的时间要多很多。 Prisma2: 作为 TypeORM 早期贡献者,我不推荐你在 2022 年的今天还使用 TypeORM ,Prisma2 的工具链和开发体验都非常流畅。 你还可以考虑下 postgresql ,既可以用 JSONB 存储,又不丢失 ACID 的所有好处 |
40 lmshl 2022-03-29 12:07:31 +08:00 |
41 lmshl 2022-03-29 12:08:36 +08:00 再给你一个我自己的热身项目,就是用我上面说的技术栈,并且还支持 Serverless 部署。 |
![]() | 42 guanhui07 2022-03-29 12:10:18 +08:00 koa2 |
![]() | 43 boxz 2022-03-29 12:16:35 +08:00 nestjs ,要 crud 搭配 nestjs-query ( graphql )或 @nestjsx/crud ( restful ) |
44 gstarcad 2022-03-29 14:26:15 +08:00 轻量底层框架:fastify 、express 上层框架:NestJS 其它观点同#39 楼 |
![]() | 45 qq30545 2022-03-29 14:28:58 +08:00 我也新手 推荐 Fastify + Cloud Run Express 就算了吧 |
46 1543544726zy 2022-03-29 14:29:40 +08:00 koa + mogoose |
![]() | 47 byte10 2022-03-29 14:34:17 +08:00 目前需求是这样: 1. 后端数据库存储数据,同时给 C 端前端提供 api 进行 curd 2. 后端需要对接第三方 api 3. 给 B 端提供后台管理网页 你直接上 koa2 ,吊打所有框架。这样的业务最好用 koa2 了,非常 nice 的一个框架,核心代码就 100 行,牛逼就是了。脚本语言简单。koa2 的比较基础,迁移到 serverless ,云函数,云小程序,都非常的方便。 |
![]() | 48 fstar 2022-03-29 14:36:15 +08:00 Nest.js Express 和 Koa2 就算了,过时了,过于底层,好比你用 jq 写网站一样过于简陋。社区也不活跃。 |
![]() | 49 qfdk PRO ![]() 还是 Express 吧,说实话这个写起来还是很舒服的,我把公司 微服务都换成 Express 了。 还是 Express 好用,Nest.js 上层的东西太多了。 问题很大,如果搞不明白 Nest.js 里面的 运行原理 感觉就跟 Spring Boot 莫名其妙的的升个级就挂了。。。 用 Express 的话 逻辑大多都是自己的,然后项目结构合理,很方便的。 |
![]() | 51 jsq2627 2022-03-29 15:36:23 +08:00 不妨试试 remix.js ,虽然比较新但是确实很棒 |
52 terranboy 2022-03-29 16:04:51 +08:00 |
![]() | 53 helloworld1024 2022-03-29 17:04:17 +08:00 建议你放弃使用 nodejs 做后端 |
![]() | 54 zy445566 2022-03-29 17:10:36 +08:00 用 express ,其实不如用 koa 更现代一点点。不过要大而全集成可以试试 nest.js 。用 node.js 后端开发 5 年了,很爽 |
55 LawlietZ 2022-03-29 17:27:32 +08:00 egg |
![]() | 56 OxO 2022-03-29 17:41:55 +08:00 原是 Javaer ,不喜欢在 node 系也使用 Spring 注解那一套东西,目前在用 koa2 + mongoose + ts ,挺喜欢的。 |
![]() | 57 vincentxue 2022-03-29 17:51:02 +08:00 我同意 #29 的观点。 最适合你的框架应该就是 egg.js ,因为它足够简单但是功能又很强,已经封装了绝大多数日常需要的功能。底层就是 koa ,如果你要从 koa 或者 express 这些起步,光是搭架子都得很久。用 egg 的话新建一个项目就可以直接开撸了,cluster 啥的也都帮你弄好了,你只需要一句命令的的事。orm 用 sequelize 之类的就好了。 nest 那些是有学习成本的,你需要了解它的概念,还得自己搭架子等等。 如果你是开一个大的长期的项目,那可以考虑用 nest ,毕竟是流行趋势,趋势不可挡。 db 用什么是跟你的业务有很大关系的,如果你不知道选什么,就选 mysql 好了。 |
![]() | 58 pkoukk 2022-03-29 18:09:31 +08:00 @Chism pg 也支持 json 。 但是一般不需要存 raw json 进去,找一些 orm 框架更合适。 存一堆 json 进 mongo 里,最常见到的事情就是里面有一大堆奇怪的数据,一会儿这条缺字段,一会儿那条字段数据格式不对,处理数据处理到头秃 |
![]() | 59 immortalz 2022-03-29 18:30:31 +08:00 via Android eggjs ,正如 57 楼说的一样,eggjs 约定式的方式,很多东西都不用纠结中间件怎么技术选型,不同中间件之间混搭踩坑之类的 |
![]() | 60 Chism OP @pkoukk 确实有这个问题,我还遇到过 input 标签的数字直接插入导致 mongo 里本来放 number 的一部分是 string |
![]() | 61 HanMeiM 2022-03-29 19:04:39 +08:00 话说 egg 是阿里开源的吗?阿里的开源软件敢用吗? |
![]() | 62 ychost 2022-03-29 19:33:28 +08:00 koa 用过最好用的,想怎么扩展加中间件就好了,用起来爽的一笔,node 不是 JAVA 没必要用注解,即使 node 按 java 一样规范了,后期维护还是比较困难 |
![]() | 63 cutchop 2022-03-29 20:10:56 +08:00 koa 啊,js 不就是怎么爽怎么来吗,不要搞 java 那一套 |
64 bthulu 2022-03-29 21:04:40 +08:00 @lmshl nestjs 底层 HTTP 框架选啥呢, platform-express 还是 platform-fastify? |
![]() | 65 inhal 2022-03-29 22:05:51 +08:00 via Android AdonisJS ,你会找到 Laravel 的感觉 |
66 ccraohng 2022-03-30 10:10:00 +08:00 koa express 不是 demo 产生器吗?求求不要推荐害人了 或者你要自己根据这两个当作底层写框架? |
67 agileago 2022-03-30 17:02:09 +08:00 express,koa,eggjs 写完会让你产生在写玩具的感觉,很脆弱,现在写 Node 后端无脑 nestjs |
![]() | 68 eephee 2022-03-31 22:50:23 +08:00 nest.js 有公司招人吗?前后端都会点 |
69 chenyu0532 2022-04-01 15:18:56 +08:00 现在正在用 egg ,我感觉很不错。 阿里为数不多的良心产品 |
70 chenyu0532 2022-04-01 15:21:54 +08:00 作为一个前端仔,没有后端经验,对 js 很熟 的人的建议 |
![]() | 71 magicdawn 2022-04-02 12:46:40 +08:00 TypeScript 如日中天, 不支持 ts / 支持不好, 就等着被淘汰吧~ 目前来看 nest 比较好用. 关于 express / koa, express 多少年了还在 4.x koa 太薄了, 很多东西要新写, 不用 ts 的话可以试试我移植的 impress-router / impress-router-table https://magicdawn.github.io/common-docs/docs/impress-router https://github.com/magicdawn/impress-router-table |
![]() | 72 zhennann 2022-04-03 08:32:10 +08:00 express 、koa 、nest 、egg ,都属于工具框架,都好学,但是用于业务开发都不容易,因为账户体系、权限体系、数据管理体系、审批工作流、消息推送,等等,所有与业务相关的工作都需要自己做 强烈建议了解一下 CabloyJS 开源全栈框架,这是一款教科书级的 NodeJS 框架,内置工作流引擎,内置大量业务组件,开发 CRUD 、开发中后台,都很方便,而且还不仅仅是这些 |
![]() | 73 yafoo 2022-04-23 08:25:19 +08:00 via Android 试试我开发的 mvc 框架 jj.js ,语法跟 thinkphp 相似,你会很快上手的。 |
74 humbass 2022-09-05 22:03:50 +08:00 也是 PHP 出身,之前转 nodejs 用的是 thinkjs ,不过有段时间没有维护了 目前在用 eggjs ,也挺顺手。 |
![]() | 75 moose123 2022-10-28 10:41:12 +08:00 可以了解下 feathersJS |