http 함수로 빠른 시작 시작

Begin은 최신 웹 앱, 사이트 및 API를 구축하기 위한 플랫폼입니다. 전 세계적으로 사용 가능한 서버리스 인프라, SSD 지원 데이터베이스, CDN 및 GitHub 기반 지속적 통합을 활용합니다. 과학적으로 "엄청나게 빠르다"는 것이 입증되었습니다.

전제 조건


  • Begin은 Begin의 CI에 대한 웹후크와 같이 필요한 통합으로 미리 연결된 GitHub 저장소를 프로비저닝합니다.
  • Begin은 Node 12에서만 AWS 인프라를 관리하며 곧 추가 런타임이 제공될 예정입니다.
  • Node 번들 npm 5.x의 최신 릴리스이지만 로컬 개발에는 npm 6.x이 필요합니다. npm install npm@latest -g를 실행하여 업그레이드하십시오.
  • 시작 홈 페이지에서 Login를 클릭하여 Begin account을 만듭니다. GitHub로 권한을 부여하고 사용자 이름을 선택하세요.

  • 앱 생성 및 배포



    Begin 계정에 로그인하고 "Create new app" 버튼을 클릭합니다. 먼저 Node.js 또는 Deno 런타임을 선택합니다.



    기본적으로 Node.js 프레임워크별 스타터 앱 목록이 표시됩니다. 추가 예시 앱 목록을 보려면 아래로 스크롤하세요.



    스타터 목록에서 앱을 선택합니다. 그런 다음 프로젝트 이름을 지정하라는 메시지가 표시됩니다.



    "Create Hello World app"을 클릭하여 github.com/{your GH username}/{your repo name}에서 새 프로젝트를 시작합니다.



    Begin이 저장소를 설정하면 staging 환경에 대한 첫 번째 배포가 시작됩니다.



    기본적으로 main에 대한 각 커밋은 빌드를 시작합니다.



    빌드가 녹색이면 해당 빌드가 앱의 환경staging에 즉시 배포됩니다. staging 환경에 액세스하려면 빌드 상태 모듈에서 Staging 링크를 클릭하십시오.



    프로덕션 환경을 보려면 Production를 클릭하십시오.



    프로젝트 구조



    Begin 애플리케이션은 개별적으로 실행되는 많은 소규모 클라우드 기능으로 구성됩니다.

    .
    ├── .gitignore
    ├── LICENSE
    ├── index.js
    ├── package.json
    └── readme.md
    


    하나의 거대한 모놀리식 Lambda 함수로 애플리케이션을 만들려고 하면 Brian LeRoux가 개인적으로 집에 와서 뺨을 때리고 개를 차게 됩니다.

    패키지.json



    node.js 파일에 추가된 JSON 런타임 사용package.json용으로 작성된 예제 앱을 시작합니다.

    "name": "begin-app",
    "version": "0.0.0",
    "description": "Begin basic Hello World! app for Node",
    "arc": {
      "app": "hello-world",
      "http": [
        {
          "/": {
            "method": "any",
            "src": "."
          }
        }
      ]
    },
    


    스크립트 시작




    "scripts": {
      "start": "cross-env NODE_ENV=testing npx sandbox"
    },
    


    개발 종속성




    "devDependencies": {
      "@architect/functions": "latest",
      "@architect/sandbox": "^3.3.6",
      "@begin/data": "latest",
      "cross-env": "^7.0.3"
    }
    


    index.js



    함수 디렉터리에는 클라우드 함수 핸들러와 작동하는 데 필요한 모든 종속성을 제공하는 파일index.js이 포함되어야 합니다.

    HTTP 기능



    각 HTTP 함수 디렉터리는 공개적으로 사용 가능한 HTTP 경로에 대한 처리기를 제공합니다.

    exports.handler = async function http(req) {
      let html = `
        <!doctype html>
        <html lang=en>
          <head>
            <meta charset=utf-8>
            <title>This is a title</title>
            <link
              rel="stylesheet"
              href="https://static.begin.app/starter/default.css"
            >
            <link
              href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" 
              rel="icon"
              type="image/x-icon"
            >
          </head>
          <body>
            <h1 class="center-text">
              I hath been shipped
            </h1>
    
            <p class="center-text">
              Nailed it
            </p>
          </body>
        </html>
      `
    
      return {
        headers: {
          'content-type': 'text/html; charset=utf8',
          'cache-control': 'no-cache, no-store, must-revalidate, max-age=0, s-maxage=0'
        },
        statusCode: 200,
        body: html
      }
    }
    


    변경 사항을 배포하려면 "프로덕션에 배포"를 클릭하십시오.



    그 빨판 Ship itship를 클릭하십시오.



    following link 에서 이 철저하게 배송된 사이트를 보실 수 있습니다.

    좋은 웹페이지 즐겨찾기