이미 시장에는 Node.js용 백엔드 라이브러리와 프레임워크가 많이 나와 있습니다. 이전에 일부 소규모 프로젝트에 Nest.js를 사용한 적이 있습니다. 포괄적인 기능을 갖추고 있어 신속한 프로젝트 구현이 가능합니다. 하지만 소규모 프로젝트의 경우 기능 중 상당수가 너무 과하고 캡슐화 수준이 높아 코드 작성 시 자유도가 거의 없습니다.
우연히 온라인에서 호노를 접하게 되었습니다. 문서를 읽은 후:
Hono는 Express와 유사하지만 프런트엔드가 없는 간단한 웹 애플리케이션 프레임워크입니다. 미들웨어와 결합하면 더 큰 애플리케이션을 구축할 수 있습니다. 다음은 몇 가지 사용 사례입니다.
좋습니다. 시작해 보겠습니다.
https://hono.dev/docs/getting-started/basic
포트 설정을 통해 포트를 수정할 수 있습니다.
import { Hono } from 'hono'; const app = new Hono(); app.get('/', (c) => { return c.text('Hello Hono!'); }); export default app;
실행 방법:
npm run dev
액세스하려면: http://localhost:8787
app.get('/', (c) => c.text('GET /')); app.post('/', (c) => c.text('POST /')); app.put('/', (c) => c.text('PUT /')); app.delete('/', (c) => c.text('DELETE /'));
const apiRoutes = app .basePath("/api") .route("/expenses", route1) .route("/", route2);
이전 basePath("/api")는 모든 경로에 /api 접두사를 추가합니다.
export const route1 = new Hono() .post("/", async (c) => { return c.json({ }); });
위 경로는 http://localhost:8787/api/expenses를 통해 접속하실 수 있습니다.
app.get('/posts/:id', (c) => { const page = c.req.query('page'); const id = c.req.param('id'); return c.text(`You want see ${page} of ${id}`); });
결과 보기: http://localhost:8787/posts/1?page=12
app.put("/posts/:id{[0-9]+}", async (c) => { const data = await c.req.json(); return c.json(data); });
text() 외에도 요청이 다양한 유형의 데이터를 반환하도록 만드는 json(), html(), notFound(), 리디렉션() 등과 같은 많은 메서드가 있습니다. html()은 JSX를 직접 반환할 수 있습니다.
import { Hono } from 'hono'; const app = new Hono(); app.get('/', (c) => { return c.text('Hello Hono!'); }); export default app;
파일 확장자를 .tsx로 변경하기만 하면 매우 React와 유사한 JSX를 직접 작성할 수 있습니다.
검증기는 클라이언트에서 보낸 요청이 지정된 데이터 형식을 준수하는지 확인하기 위해 zod 및 @hono/zod-validator를 통해 구현됩니다.
설치: Yarn add zod @hono/zod-validator
예를 들어, 요청에서 이를 확인해야 하는 경우 클라이언트가 보낸 데이터 형식은 다음과 같아야 합니다.
계정: 문자열; 비밀번호: 문자열
npm run dev
zod 문서에서 자세히 알아보세요. 그리고 IDE는 사용자에게 유형 힌트를 직접 표시할 수 있습니다.
마지막으로 Hono 앱 배포에 매우 적합한 플랫폼인 Leapcell을 소개하겠습니다.
Leapcell은 다음과 같은 특징을 지닌 서버리스 플랫폼입니다.
문서에서 더 자세히 알아보세요!
Leapcell 트위터: https://x.com/LeapcellHQ
위 내용은 Hono.js: 차세대 Node.js 프레임워크의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!