더 이상 쉬지 마세요 🚀

안녕하세요 여러분!

여기GitHub Repo와 여기NPM package 📦

나처럼 새로운 나머지 API를 정의하고 프론트엔드에서 장황한 방식으로 호출하는 것을 하루 종일 보내고 싶지 않다면 API를 IntelliSense 지원을 통해 클라이언트에서 투명하게 서버를 호출할 수 있습니다.

아이디어가 마음에 들면 프로젝트에 별표 표시하고 저와 협력하십시오 💗

잠재력의 작은 예

// server/myApi.js

export function doLogin(username, password) {
  return username == "admin" && password == "admin";
}

export function getLoggedUsers() {
  return ["Elon Musk", "admin"];
}




// server/server.js

import express from "express";
import { expose } from "no-more-rest";

import * as myApi from "./myApi";

const app = express();
expose(app, myApi);

app.listen(8000);


  • 이 npm 스크립트를 패키지에 추가하여 노출된 모듈에서 클라이언트에 대한 프록시 스크립트를 생성하십시오.

  • "scripts": {
       "sync-api": "no-more-rest --input myApi.js --output-dir ../your-client-path/ --watch"
    }
    


  • 생성된 프록시를 클라이언트에서 가져와 마치 백엔드에 있는 것처럼 사용합니다.

  • // client/index.js
    
    import { doLogin, getLoggedUsers } from "./generatedProxy";
    
    doLogin("admin", "admin")
      .then((result) => {
        if (result) {
          alert("Login success");
    
          getLoggedUsers().then((users) => {
            alert("The logged users are: " + users.join(", "));
          });
        } else {
          alert("Login failed");
        }
      })
      .catch(() => {
        alert("Network error");
      });
    
    

    좋은 웹페이지 즐겨찾기