javascript - Hvordan jeg kan bruge mongoose og Koa.js

Jeg har en simpel Koa-app. Jeg bruger også mongoose, mongodb (Mlab)

Jeg har forbindelse til mongodb. Og jeg kan kun finde voresCat. Jeg ser arrayet i konsollen. Men jeg ved ikke, hvordan jeg kan få og vise resultatet på siden. Og hvordan kan jeg bruge min forespørgsel til db i en middleware?

const Koa = require('koa'); const

Læs mere →

javascript - Hvorfor kan koa-router ikke sættes før koa-cors?

Jeg bruger Koa med Node.js 8.1.

I dag fandt jeg ud af, at i min app.js, hvis jeg skriver i denne rækkefølge:

const Koa = require('koa') var cors = require('koa-cors') const app = new Koa() app.use(cors(options)) app.use(router.routes())

CORS kan fungere. Jeg kan verificere resultatet ved at

Læs mere →

typescript - Overskriv koa-body Type Definition

Hvordan kan jeg tilsidesætte koa-body-typedefinitionen? koa-body har en type-definition som følger:

declare module "koa" { interface Request { body: any; } interface Context { body: any; } }

Jeg vil tilsidesætte til noget som dette (fil index.d.ts):

import { Files } from 'formidable' interface IBody { files: Files } declare module "koa" { interface Request { body: IBody

Læs mere →

node.js - Automatisk API-dokumentation for Typescript & Node (koa)

Jeg bruger Typescript med Koa. Kan nogen fortælle mig, hvordan jeg kan generere automatisk API-dokumentation (ikke manuelt)? Jeg så, at der er en pakke tsoa (https://www.npmjs.com/package/tsoa), men jeg vil kun have en simpel API-dokumentation for mine routes, så jeg ønsker ikke at oprette controllere.

Læs mere →

TypeScript og Koa 2: async/await problem med global fejlhåndtering

Jeg skriver en app med TypeScript samt Koa 2.

Problemet, jeg oplever, er dog, at min globale Koa-fejlhåndtering ikke fanger fejl, der blev kastet i min applikation.

Tag for eksempel følgende middleware (dette er det allerførste middleware, før nogen ruter indlæses):

Læs mere →

Hvordan implementerer man et Koa-baseret TypeScript-projekt i både AWS Lambda og Azure Cloud Function?

Jeg har en webapplikation, som er udviklet med Koa.JS. Jeg vil gerne implementere den både på Azure Cloud Function og AWS Lambda, så jeg ikke behøver at vedligeholde serverdelen, og samtidig ikke er bundet til en bestemt cloud-leverandør.

Kan enhver ramme understøtte denne slags krav?

Dette er webapplikationen, jeg fik.

index.ts

const Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = 'Hello World'; }); app.listen(3000);

Læs mere →

eksport - Hvordan man kombinerer adskilte Koa-Routers med Typescript

Jeg besluttede at opdele mine routere efter deres formål, så de ser sådan ud:

routers/homeRouter.ts

import * as Router from 'koa-router'; const router: Router = new Router(); router .get('/', async (ctx, next) => { ctx.body = 'hello world'; }); expor

Læs mere →

node.js - Kombinere Typescript Koa-Router og Passport

Jeg er ny i Typescript og prøver at integrere koa-router og koa-passport. Har installeret alle @types\

import Koa from "koa"; import Route from "koa-router"; import passport from "koa-passport"; import session from "koa-session"; const app = new Koa(); const router = new

Læs mere →

node.js - Typescript fejl: Dette udtryk kan ikke kaldes. Typen 'typeof import("koa-session")' har ingen kaldesignaturer

Delvist løst:

Der er et gammelt problem på GitHub, hvor dette problem beskrives en smule. Når du erklærer et modul i et globalt scope, overskriver det hele det eksporterede moduls typer. Når du erklærer et modul inden for et modul,

Læs mere →

Hvordan løser jeg dette TypeScript-problem med Koa Session ved brug af en Koa-app, der er generisk typet?

Jeg bruger følgende grænseflader til at definere min kontekst og tilstand for Koa:

export interface AppState extends Koa.DefaultState { //... } export interface AppContext extends Koa.DefaultContext { models: DomainModels; connection: Connection; }

og derefter instantierer koa sådan:

const app = new Koa<AppState, AppContext>(); app.use(session(sessionConfig, app));

Problemet er, at typerne for koa-session bruger deklarati

Læs mere →