有没有懂 honojs 的老哥 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Nitousei
V2EX    Node.js

有没有懂 honojs 的老哥

  •  1
     
  •   Nitousei 2024-06-27 08:02:18 +08:00 4954 次点击
    这是一个创建于 470 天前的主题,其中的信息可能已经有所发展或是发生改变。

    菜鸡前端,最近写 hono ,pm2 跑不起来,看 log 是正常的,但是启动时写的 console.log 并没有打印出来,api 也访问不了

    dev tsx watch src/index.ts

    22 条回复    2024-06-28 13:59:38 +08:00
    Nitousei
        1
    Nitousei  
    OP
       2024-06-27 08:10:41 +08:00
    Rrrrrr
        2
    Rrrrrr  
       2024-06-27 08:18:45 +08:00
    之前是用 bun 学了一点,我感觉跟 bun 挺搭,毕竟你都用了 ts
    334132462
        3
    334132462  
       2024-06-27 08:19:27 +08:00
    编译成 js 然后再用 pm2 运行 pm2 不支持运行 ts 看看你的 package.json 应该有相关编译命令
    CHTuring
        4
    CHTuring  
       2024-06-27 08:29:25 +08:00
    很想帮你,但是很可惜看不到图片。
    songray
        5
    songray  
       2024-06-27 08:42:16 +08:00
    @Nitousei 你这是想用 pm2 部署?
    部署前要 build 一下, 用产物部署.
    而且 hono 用 node 运行的话需要用一个 adapter
    https://github.com/honojs/node-server
    如果创建项目的时候选了 node 就不需要.
    weijancc
        6
    weijancc  
       2024-06-27 08:46:04 +08:00
    有可能是 nodejs 版本问题, hono 代码写得有缺陷, 在低版本 node 是跑不起来的.
    catinsides
        7
    catinsides  
       2024-06-27 09:23:09 +08:00
    pm2 指定 interpreter 试试
    fwh
        8
    fwh  
       2024-06-27 09:34:27 +08:00   1
    pm2 start src/index.ts --interpreter "node" --interpreter-args "--import tsx" --env development

    https://tsx.is/node/#command-line-api
    Nitousei
        9
    Nitousei  
    OP
       2024-06-27 09:49:34 +08:00
    @fwh 666 ,确实跑起来了,但是以我的水平有点看不懂这段代码,大佬能不能解释一下
    Nitousei
        10
    Nitousei  
    OP
       2024-06-27 09:51:21 +08:00
    @weijancc 谢谢,不是这个问题,最新的 node
    Nitousei
        11
    Nitousei  
    OP
       2024-06-27 09:56:40 +08:00
    @songray 谢谢构建的时候选了 node ,不是这个问题
    Nitousei
        12
    Nitousei  
    OP
       2024-06-27 09:58:16 +08:00
    @Rrrrrr 嗯是的,但是我这个项目有用到一些比较老的依赖,用 bun 有一些看不懂的报错,在官方的 issue 里也看到这个问题,官方还没解决
    fwh
        13
    fwh  
       2024-06-27 10:02:04 +08:00
    @Nitousei hono 默认的 nodejs 项目是用 tsx 执行启动的,但是 pm2 是用 node 直接启动的,所以要传递 node 参数指定 tsx, 不用 pm2 的命令就是这样的 node --import=tsx --watch ./src/index.ts
    Nitousei
        14
    Nitousei  
    OP
       2024-06-27 10:04:58 +08:00
    @fwh 谢谢
    DaneWalters
        15
    DaneWalters  
       2024-06-27 10:16:28 +08:00
    用 hono 的话建议使用 bun 或者 deno
    peakcoder
        16
    peakcoder  
       2024-06-27 10:36:53 +08:00
    看你这头像,还以为曾博
    lee88688
        17
    lee88688  
       2024-06-27 11:35:50 +08:00
    我也同意#14 老哥的说法,用 deno 这种原生支持的方便很多,bun 在 Windows 上支持没 deno 好,如果有 Windows 的电脑 deno 更合适一些。
    我之前就使用过 deno 和 hono 开发了一个简单的服务器,确实很方便,可以尝试一下。
    leadfast
        18
    leadfast  
       2024-06-27 12:25:32 +08:00
    原来我没碰到这个问题是因为启动姿势正确 `pm2 start --name xxoo yarn -- start`
    shqingda
        19
    shqingda  
       2024-06-27 14:27:59 +08:00
    @fwh 借楼问下老哥 pm2 如何根据不同的环境变量启动项目?我想指定比如.env.test 这个文件,直接 pm2 start src/index.ts --env test 好像不行?
    KouShuiYu
        20
    KouShuiYu  
       2024-06-27 15:03:06 +08:00
    shqingda
        21
    shqingda  
       2024-06-27 15:37:45 +08:00 via Android
    @KouShuiYu 谢谢
    sleepm
        22
    sleepm  
       2024-06-28 13:59:38 +08:00
    继续往上面加 console.log ,看最后能打印几个
    大概率是没执行到你要打印的那一步
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2699 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 15:05 PVG 23:05 LAX 08:05 JFK 11:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86