1
golangLover 2022-03-28 17:53:10 +08:00 via Android 4
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 4
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 1
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
angrylid 2022-03-28 19:59:54 +08:00 via Android
laravel 不考虑下吗。
|
16
shuimugan 2022-03-28 20:07:41 +08:00 1
快速出活而且维护频率低的用 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
sjhhjx0122 2022-03-29 08:42:50 +08:00
学了 nestjs 差不多就顺手大概会了 angular 何乐不为呢
|
29
star7th 2022-03-29 08:59:27 +08:00 4
作为一个 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 1
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 5
作为一个老 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 2022-03-29 15:02:29 +08:00 1
还是 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
|