Open15
receiptlineサーバーの作成(試行錯誤中)
何回か作りそうなのでまとめていく。
nvmのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
最後に出てきたやつをコピペ
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nodeインストール
nvm install --lts
bunインストール
npm install -g bun
ユーザーの追加?
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
printer-appの作成
bun create elysia printer-app
必要なライブラリのインストール
bun install @elysiajs/cors
bun install receiptio
コードはメチャクチャ簡単にこんなん。
index.ts
import { Elysia } from "elysia";
import { cors } from '@elysiajs/cors'
import * as receiptIo from "receiptio";
const app = new Elysia()
.use(cors())
.get("/", () => "Hello Elysia")
.post("/print", async({body}) => {
// console.log(body);
const { markdown } = body;
// console.log(markdown);
receiptIo.print(markdown, "-d /dev/usb/lp0 -l ja -p -c 42");
return new Response("Printed!");
})
.listen(3000);
console.log(
`🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`
);
エラー吐いた。
fsのユーザーがうまくいっていなさそうだけど、普通にlp
グループには入ってるんだよね。。
daemonizeでめっちゃ苦労。
これいけるんか・・?
pnpmだとうまく行ってた気もするのでpnpm + hono で愚直にserviceファイル書いてやってみる。
pm2 + pnpm + honoでうまく行った。
bunはまだ自分には早すぎた・・