🚀
HonoxをNode.js Adapterでデプロイする
HonoXはCloudflare Pagesへのデプロイをサポートしていますが他のプラットフォームへの対応はまだドキュメントに載っていません
しかしViteの設定を自由に書けるのでプラグインを用意して@hono/node-serverと統合することができます
以下のようなvite.config.tsとvite-node-server-plugin.tsというファイルを用意してデプロイしてみます
vite build --mode client && vite build
node dist/server.js
Listening on http://localhost:3000
DEMO: https://honox-node-server.fly.dev/
(IslandやSuspense,MDXが動作しているので大丈夫だろうということにしました)[1]
おまけ: Dockerfile
# syntax = docker/dockerfile:1
ARG NODE_VERSION=20.11.0
FROM node:${NODE_VERSION}-slim as base
LABEL fly_launch_runtime="Vite"
WORKDIR /app
ENV NODE_ENV="production"
FROM base as build
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y build-essential node-gyp pkg-config python-is-python3
COPY --link package.json ./
RUN npm install --include=dev
COPY --link . .
RUN npm run build
RUN npm prune --omit=dev
FROM base as final
COPY /app/dist /app/dist
CMD ["node", "dist/server.mjs"]
Discussion