> 웹 프론트엔드 > 프런트엔드 Q&A > 코아와 노드는 어떤 관계인가요?

코아와 노드는 어떤 관계인가요?

青灯夜游
풀어 주다: 2021-12-13 11:20:46
원래의
2061명이 탐색했습니다.

koa는 Node.js 플랫폼을 기반으로 하는 웹 개발 프레임워크로, "node v7.6.0" 또는 ES2015 이상 및 비동기 메서드 지원을 사용하며 미들웨어를 번들로 제공하지 않지만 사용자를 돕는 우아한 메서드 세트를 제공합니다. 서버측 애플리케이션을 빠르고 즐겁게 작성하세요.

코아와 노드는 어떤 관계인가요?

이 튜토리얼의 운영 환경: windows7 시스템, nodejs 버전 12.19.0, DELL G3 컴퓨터.

Koa - Node.js 플랫폼을 기반으로 한 차세대 웹 개발 프레임워크

Koa는 Express의 원래 팀이 구축한 새로운 웹 프레임워크이며 웹 분야에서 더 나은 솔루션이 되기 위해 최선을 다하고 있습니다. 애플리케이션 및 API 개발. 더 작고, 더 표현력이 풍부하며, 더 강력한 빌딩 블록입니다. Koa는 비동기 기능을 활용하여 콜백 기능을 폐기하고 오류 처리를 크게 향상시킵니다. Koa는 미들웨어를 번들로 제공하지 않지만, 서버 측 애플리케이션을 빠르고 즐겁게 작성하는 데 도움이 되는 우아한 방법 세트를 제공합니다.

Koa는 Express의 일부 디자인 결함을 해결하기 위해 탄생했습니다. 해당 미들웨어는 async 함수를 통해 작성할 수 있습니다. wait next()는 미들웨어 실행을 중단하고 이를 실행하기 전에 모든 후속 미들웨어가 실행될 때까지 기다릴 수 있습니다.

또 다른 기능은 요청과 응답의 단순화된 처리로, 둘 다 ctx에 탑재됩니다. 반환된 콘텐츠는 다음과 같이 직접 할당을 통해 사용할 수도 있습니다. ).

그리고 Koa는 마이크로커널의 미니멀한 아이디어인 미들웨어를 통해 구현되는 라우팅 기능을 차단했습니다.

핵심 기능(Koa 문서):

  • Express보다 더 극단적인 요청/응답 단순화, 예:
    • ctx.status = 200
    • ctx.body = 'hello node'
  • 구현된 미들웨어 사용 비동기 기능으로.
  • "실행을 일시 중지"하는 기능이 있습니다.
  • 또한 비동기 상황에서 양파 모델을 따릅니다.
  • 커널을 간소화하고 모든 추가 기능을 미들웨어로 옮깁니다.

Installation

Koa는 노드 v7.6.0 또는 ES2015 이상과 비동기 메서드 지원을 사용합니다.

원하는 버전 관리자를 사용하여 지원되는 노드 버전을 빠르게 설치할 수 있습니다.

$ nvm install 7
$ npm i koa
$ node my-koa-app.js
로그인 후 복사

Babel 구현 비동기 메서드 사용

Koa < 7.6 버전에서 비동기 메서드를 사용하려면 babel의 require 후크를 사용하는 것이 좋습니다.

require(&#39;babel-register&#39;);
// 应用的其余 require 需要被放到 hook 后面
const app = require(&#39;./app&#39;);
로그인 후 복사

비동기 메서드를 구문 분석하고 컴파일하려면 적어도 변환-async-to-generator 또는 변환-async-to-가 있어야 합니다. module-method 플러그인.

예를 들어, .babelrc 파일에는 다음이 있어야 합니다.

{
  "plugins": ["transform-async-to-generator"]
}
로그인 후 복사

대신 env 사전 설정의 대상 매개변수 "node": "current"를 사용할 수도 있습니다.

프로그램 적용

Koa 애플리케이션은 스택과 같은 방식으로 구성되고 실행되는 미들웨어 기능 세트를 포함하는 객체입니다. Koa는 Ruby's Rack, Connect 등과 같이 여러분이 접할 수 있는 다른 많은 미들웨어 시스템과 유사합니다. 그러나 핵심 디자인 포인트는 낮은 수준의 미들웨어 레이어에 높은 수준의 "구문 설탕"을 제공하는 것입니다. 이를 통해 상호 운용성과 견고성이 향상되고 미들웨어 작성이 더욱 즐거워집니다.

여기에는 콘텐츠 협상, 캐시 정리, 프록시 지원 및 리디렉션과 같은 일반적인 작업에 대한 방법이 포함됩니다. 유용한 메소드를 많이 제공함에도 불구하고 Koa는 번들로 제공되는 미들웨어가 없기 때문에 여전히 작은 크기를 유지합니다.

필수 hello world 애플리케이션:

const Koa = require(&#39;koa&#39;);
const app = new Koa();
app.use(async ctx => {
  ctx.body = &#39;Hello World&#39;;
});
app.listen(3000);
로그인 후 복사

노드 관련 지식을 더 보려면 nodejs 튜토리얼을 방문하세요! !

위 내용은 코아와 노드는 어떤 관계인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿