V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
0bSer7er
V2EX  ›  Node.js

Node 框架选型或包推荐

  •  
  •   0bSer7er · 128 天前 · 5699 次点击
    这是一个创建于 128 天前的主题,其中的信息可能已经有所发展或是发生改变。
    后端萌新,前端干过两年,算刚入门吧,换了传统行业小公司,就我一个 IT ,没人请教,因为对 JS 比较熟所以选了 Node,希望能够集思广益找一些符合下面要求的解决方案。

    背景:
    公司用 Zoho 这个 SaaS 平台,虽然是低代码平台但是因为功能限制,需要搭个服务器接收 /返回信息。

    需求&问题:
    1. 目前想要实现的是从 Zoho 获取发票的图片,转成 base64 ,然后发给腾讯的发票识别 OCR 接口,拿到信息再回填到 Zoho ,以及对接钉钉群机器人,获取指令,在 Zoho 里 CURD 数据。这类中间件(不确定,或者应该叫接口转发?)。暂时不考虑做 Web 之类的服务。

    2. 然后是最基础的 token 问题,因为没有(学习)数据库,而且因为是直接在服务器端做开发和测试,服务会经常被 ctrl + c ,所以 refresh-token 之类的凭据是不是要保存到服务器本地的文件?或者有没有什么包能够对多个平台的 token 进行简单的管理和更新?

    3. 还是 token 的问题,后端一般如何处理 token 过期?我自己看了一圈 API ,想到的是根据 expiry 来判断然后提前更新,但是因为会重启服务器,所以 expiry 信息写到数据库是最优解?有没有我这种场景下其他的解决方案?

    4. 目前用的是腾讯国内的轻量云服务器,只用上面这些功能的话服务器需不需要备案?( Zoho 用的是国际版,API 服务器的物理地址应该是在美国)

    希望能够不吝赐教。
    19 条回复    2022-11-02 14:31:10 +08:00
    renmu
        1
    renmu  
       128 天前 via Android   ❤️ 1
    token 直接发内存里得了,启动服务的时候请求一下 token 接口,过期了就再请求一次。
    反正是公司用,服务商说要备案就备案呗,听服务商的
    wangtian2020
        3
    wangtian2020  
       128 天前   ❤️ 1
    node-red
    leopod1995
        4
    leopod1995  
       128 天前   ❤️ 1
    2 & 3 : 低频操作 token 一般可以直接存 db , 每次校验直接查 db ,高频上缓存。 如何处理过期,最简单的加个过期时间戳,每次 verify token 之后比对过期时间。不用 db 的方案是中心化的 redis, 自动加 expire 机制。

    4: 据我所知,腾讯云的服务器是不用备案的
    frankies
        5
    frankies  
       128 天前 via Android   ❤️ 3
    单人小项目 koa
    多人大项目 nestjs
    不解释。
    Envov
        6
    Envov  
       127 天前   ❤️ 1
    如此轻量化的需求,koa +1
    liuzhaowei55
        7
    liuzhaowei55  
       127 天前 via iPhone   ❤️ 1
    小项目直接 fastify ,如果不能满足需要不要 nestjs 直接 Spring boot 走起
    codingBug
        8
    codingBug  
       127 天前 via Android   ❤️ 1
    fastify 比较简单容易上手
    encro
        9
    encro  
       127 天前   ❤️ 1
    nestjs + fastify + mikro-orm + graphql 目前我正在用的,哈哈,我不急,慢慢学,在这上面做个脚手架。
    zbinlin
        10
    zbinlin  
       127 天前   ❤️ 1
    1. 你可以找下 zoho ,腾讯的 ORC ,跟钉钉有没有对应的 nodejs SDK ,如果有的话,可以直接拿来用,如果没有,也可以用 node 自带的 fetch 封装下再用。

    2,3. 可以存 redis 里或 sqlite 里
    jiangzm
        11
    jiangzm  
       127 天前   ❤️ 1
    midway 传统应用、serverless 、 前后端一体都支持
    wunonglin
        12
    wunonglin  
       127 天前   ❤️ 1
    nestjs 。如果你啥都不知道的话,用 koa 那就是不知从哪下手
    stimw
        13
    stimw  
       127 天前   ❤️ 1
    小项目为啥都推 koa ,不用 express 么。。。
    ysc3839
        14
    ysc3839  
       127 天前 via Android   ❤️ 1
    @stimw express 配合 async function 有些坑,koa 没有
    dayeye2006199
        15
    dayeye2006199  
       127 天前   ❤️ 1
    这类东西连框架都不用。一般就是几个云厂商的函数计算服务,例如 aws lambda 写几个简单逻辑扔上去就可以
    233373
        16
    233373  
       125 天前   ❤️ 1
    nestjs
    qfdk
        17
    qfdk  
       122 天前   ❤️ 2
    express 选择框架 选择好用的,熟悉的,库多的。koa2 固然简洁,新人别碰。 作为老人写了一次,还是用 express 了
    vite
        18
    vite  
       106 天前   ❤️ 1
    其实前端转 node 新人我是推荐 koa 的, 不适合一上来就搞很重 /结构规范度高的框架,特别是作为胶水层的 CURD 场景,框架越干净越容易在迭代中逐步理解后端程序的运行机制
    humbass
        19
    humbass  
       95 天前   ❤️ 1
    新人还是上原生的基础库比较好,逐步过渡;

    简单的项目 express

    负责的项目 eggjs


    estjs,nustjs 做的都比较重了,适合原来开发 java 的入手。对于前端程序员来说,转后端按前后端分离的原则分开学习,前端部分完全不用变,后端部分重点学下如何 curd, 配套的 数据库、缓存、服务器知识。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1398 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 08:10 · PVG 16:10 · LAX 00:10 · JFK 03:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.