vorrei aggiungere una proprietà, id
, al di Check Request
interfaccia. Express ha una definizione di tipo DefinitelyTyped. Ho provato tutti i modi di specificare l'interfaccia per l'unione, il che risulta in un errore o non funziona.Dichiarazione fusione con moduli stile ES6
che sto accedendo tipizzazioni di Express utilizzando ES6 importazioni modulo stile: import * as express from 'express';
Ho provato la fusione con l'oggetto Request
nel Express
namespace.
declare module Express {
export interface Request {
id: number;
}
}
Questo silenziosamente non fa nulla. Ho provato la fusione con l'attuale modulo di al posto dello spazio dei nomi, seguendo le indicazioni del nuovo 1.8 compilatore che io sto usando:
import { Request } from 'express';
declare module 'express' {
interface Request {
id: number;
}
}
Questo errori perché Module augmentation cannot introduce new names in the top level scope.
Quando apro l'attuale express.d.ts
di file, sembra che ci sia un module e { ... }
contenente tutte le interfacce, all'interno di un declare module "express" { ... }
che contiene una linea di export = e;
. Forse questo è in qualche modo il problema, a causa del nidificazione dello spazio dei nomi?
Come si fa correttamente?
Ho appena visto che ora è consentito in 1.8. Tuttavia, non funziona ancora sul compilatore beta. Ho intenzione di aggiornare la domanda con maggiori dettagli. –
Modificato. Spero che tu possa dare un'altra occhiata. :) –