有没有懂 honojs 的老哥

100 天前
 Nitousei

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

dev tsx watch src/index.ts

3664 次点击
所在节点    Node.js
22 条回复
Nitousei
100 天前
Rrrrrr
100 天前
之前是用 bun 学了一点,我感觉跟 bun 挺搭,毕竟你都用了 ts
334132462
100 天前
编译成 js 然后再用 pm2 运行 pm2 不支持运行 ts 看看你的 package.json 应该有相关编译命令
CHTuring
100 天前
很想帮你,但是很可惜看不到图片。
songray
100 天前
@Nitousei 你这是想用 pm2 部署?
部署前要 build 一下, 用产物部署.
而且 hono 用 node 运行的话需要用一个 adapter
https://github.com/honojs/node-server
如果创建项目的时候选了 node 就不需要.
weijancc
100 天前
有可能是 nodejs 版本问题, hono 代码写得有缺陷, 在低版本 node 是跑不起来的.
catinsides
100 天前
pm2 指定 interpreter 试试
fwh
100 天前
pm2 start src/index.ts --interpreter "node" --interpreter-args "--import tsx" --env development

https://tsx.is/node/#command-line-api
Nitousei
100 天前
@fwh 666 ,确实跑起来了,但是以我的水平有点看不懂这段代码,大佬能不能解释一下
Nitousei
100 天前
@weijancc 谢谢,不是这个问题,最新的 node
Nitousei
100 天前
@songray 谢谢构建的时候选了 node ,不是这个问题
Nitousei
100 天前
@Rrrrrr 嗯是的,但是我这个项目有用到一些比较老的依赖,用 bun 有一些看不懂的报错,在官方的 issue 里也看到这个问题,官方还没解决
fwh
100 天前
@Nitousei hono 默认的 nodejs 项目是用 tsx 执行启动的,但是 pm2 是用 node 直接启动的,所以要传递 node 参数指定 tsx, 不用 pm2 的命令就是这样的 node --import=tsx --watch ./src/index.ts
Nitousei
100 天前
@fwh 谢谢
DaneWalters
100 天前
用 hono 的话建议使用 bun 或者 deno
peakcoder
100 天前
看你这头像,还以为曾博
lee88688
99 天前
我也同意#14 老哥的说法,用 deno 这种原生支持的方便很多,bun 在 Windows 上支持没 deno 好,如果有 Windows 的电脑 deno 更合适一些。
我之前就使用过 deno 和 hono 开发了一个简单的服务器,确实很方便,可以尝试一下。
leadfast
99 天前
原来我没碰到这个问题是因为启动姿势正确 `pm2 start --name xxoo yarn -- start`
shqingda
99 天前
@fwh 借楼问下老哥 pm2 如何根据不同的环境变量启动项目?我想指定比如.env.test 这个文件,直接 pm2 start src/index.ts --env test 好像不行?
KouShuiYu
99 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052949

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX