Heim > Web-Frontend > js-Tutorial > Einführung in Koa.js: Ein leichtes Framework für APIs und Web-Apps

Einführung in Koa.js: Ein leichtes Framework für APIs und Web-Apps

Mary-Kate Olsen
Freigeben: 2025-01-25 18:31:10
Original
701 Leute haben es durchsucht

Intro to Koa.js: A Lightweight Framework for APIs & Web Apps

Koa ist ein leichtes, modernes Middleware-Framework, das vom Express.js-Team entwickelt wurde und es uns ermöglicht, asynchrone Middleware-Funktionen zu verwenden.

Beispielanwendung

<code class="language-javascript">const Koa = require('koa');
const app = new Koa();

app.use(async function(ctx) {
  ctx.body = 'Hello';
});

app.listen(3000);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Hier erstellen wir eine Koa-Instanz und richten eine Middleware ein, um bei jeder Anfrage „Hallo“ zurückzugeben.

Funktionen

  • Moderne Grammatik
  • Unterstützt Async/Await-Middleware.
  • Leicht, nur etwa 570 Codezeilen.
    • Keine gebündelte Middleware.
  • Kontextobjekt (ctx) anstelle von (req, res)
    • Die Middleware-Signatur ist middleware(ctx, next)
  • Bessere Fehlerbehandlung

Was ist Middleware?

Middleware ist eine Funktion, die eine HTTP-Anfrage empfängt und während des Anfrage-/Antwortzyklus auf die Anfrage antworten kann. Es kann auch die nächste Middleware in der Liste aufrufen. Hier ist ein Beispiel.

<code class="language-javascript">async function exampleMiddleware(ctx, next) {
  // 从 ctx(上下文)读取请求数据
  // 更多逻辑
  // 设置 ctx.body 作为响应

  // 调用下一个中间件
  await next();

  // 在调用 next 之后,由于使用了 await 语法,我们可以做更多的事情。
  // 例如记录所花费的时间
}

// 设置中间件
app.use(exampleMiddleware);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Mit dem Middleware-Framework können wir mehrere Middleware-Funktionen definieren und sie in der Reihenfolge ihrer Definition ausführen. Möglicherweise ist Ihnen der nächste Parameter im obigen Beispiel aufgefallen. Es handelt sich um eine Funktion, die beim Aufruf die Kontrolle an die nächste Middleware übergibt.

Durch die Verwendung asynchroner Funktionen können wir „await“ verwenden, um bestimmte Vorgänge stapelweise auszuführen, nachdem die Middleware ausgeführt wurde.

Wenn keine weitere Ausführung erforderlich ist, besteht keine Notwendigkeit, als nächstes anzurufen. Betrachten Sie beispielsweise eine Authentifizierungs-Middleware. Wenn der Benutzer angemeldet ist, wird next aufgerufen, andernfalls wird die Anmeldeseite angezeigt.

<code class="language-javascript">// 身份验证中间件
app.use(async (ctx, next) => {
  if(user){
    // 调用列表中的下一个中间件
    await next();
  } else {
    // 显示登录页面
  }
});

// Hello 中间件
app.use(async (ctx) => {
  ctx.body = 'Hello';
});</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen, ist auch die Reihenfolge der Middleware wichtig.

Koa-Kontext (ctx)

Jede Middleware erhält zwei Parameter. Der erste ist context (abgekürzt als ctx) und der nächste.

ctx enthält Attribute aus der Anfrage. Darüber hinaus enthält es Setter, die auf Anfragen reagieren können.

Im Folgenden finden Sie eine Liste allgemeiner Attribute. Die vollständige Liste finden Sie hier.

名称 描述
ctx.method 当前请求方法
ctx.path 当前请求路径
ctx.query 查询字符串
ctx.body 设置响应正文的设置器
Wie man gemeinsame Aufgaben ausführt ------------------------------

Mittlere Teile

hinzugefügt

app.use -dokument verwenden. Bitte beachten Sie, dass die Reihenfolge der Middleware wichtig ist.

<code class="language-javascript">const Koa = require('koa');
const app = new Koa();

app.use(async function(ctx) {
  ctx.body = 'Hello';
});

app.listen(3000);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Starten Sie den Server

app.listen -dokument verwenden.

<code class="language-javascript">async function exampleMiddleware(ctx, next) {
  // 从 ctx(上下文)读取请求数据
  // 更多逻辑
  // 设置 ctx.body 作为响应

  // 调用下一个中间件
  await next();

  // 在调用 next 之后,由于使用了 await 语法,我们可以做更多的事情。
  // 例如记录所花费的时间
}

// 设置中间件
app.use(exampleMiddleware);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Setzen Sie den Antworttext

Verwenden Sie Ctx.Body Setter -Dokument.

<code class="language-javascript">// 身份验证中间件
app.use(async (ctx, next) => {
  if(user){
    // 调用列表中的下一个中间件
    await next();
  } else {
    // 显示登录页面
  }
});

// Hello 中间件
app.use(async (ctx) => {
  ctx.body = 'Hello';
});</code>
Nach dem Login kopieren
Nach dem Login kopieren

in Richtung zurücksetzen

Verwenden Sie ctx.Redirect -dokument.

<code class="language-javascript">app.use(middlewareFunction1);
app.use(middlewareFunction2);
app.use(middlewareFunction3);</code>
Nach dem Login kopieren
Fehlerbehandlung

ctx.throw -dokument.

So erstellen Sie eine vollständige Anwendung
<code class="language-javascript">app.listen(3000);</code>
Nach dem Login kopieren

koa liefert das Middleware Framework und CTX, die im mittleren Teil verwendet werden können. Es enthält keine gebündelte Middleware.

Um eine vollständige Anwendung zu erstellen, müssen wir die von der KOA -Community bereitgestellte Middleware verwenden. Das Folgende ist eine Liste der gemeinsamen Middleware.

Router
    Der Hauptspeicher
  • log Recorder
  • EJS -Rendering -Geräte
  • Sie können Koa Github durchsuchen, um mehr verfügbare Middleware zu erhalten.
Schlussfolgerung

koa ist ein großartiges, leichter modernes Web -Framework zum Erstellen von API- und Webanwendungen. Weitere Dokumente finden Sie auf der KOA -Website.

Das obige ist der detaillierte Inhalt vonEinführung in Koa.js: Ein leichtes Framework für APIs und Web-Apps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage