typescript - Nie je možné pridať vlastnosť do súboru deklarácie rozhrania pre passport-linkedin-oauth2
Snažím sa pridať vlastnosť do rozhrania 'StrategyOption' pre deklaračný súbor 'passport-linkedin-oauth2'. Neoznačuje žiadny modul ani rozhranie. Len exportuje rozhrania a triedu
....
export interface StrategyOption {
clientID: string;
clientSecret: string;
callbackURL: string;
scopeSeparator?: string;
enableProof?: boolean;
profileFields?: string[];
}
....
export class Strategy extends passportStrategy {...}
Skúšal som s nasledujúcimi metódami. Ale všetky zlyhali.
/// <reference types="passport-linkedin-oauth2" />
export {}
declare global {
export interface StrategyOption {
scope?: string[] // does not work
}
}
a
export interface StrategyOption {
scope?: string[] // does not work
}
a
interface StrategyOption {
scope?: string[] // does not work
}
Existuje nejaký spôsob, ako pridať vlastnosť do tohto typu deklarácie súboru?
Odpoveď č. 1
No, našiel som ten nápad. Ide to všetko o augmentácii
Takže môj kód by mal byť
import 'passport-linkedin-oauth2'
declare module 'passport-linkedin-oauth2' {
interface StrategyOption {
scope?: string[]
}
}
Ale nie som si istý, aký veľký význam má nasledujúca konfigurácia
V tsconfig.json
"compilerOptions": {
....
"baseUrl": ".",
"paths": {
"*": ["/src/types/*", "node_modules/*"]
}
}
Potrebujem, aby bola deklarácia súboru rozšírenia v mojom prípade v adresári /src/types/ bez akéhokoľvek podadresára.
