gpt4 book ai didi

typescript - 无法将属性添加到 passport-linkedin-oauth2 声明文件的接口(interface)

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:43 26 4
gpt4 key购买 nike

我正在尝试向“passport-linkedin-oauth2”声明文件的“StrategyOption”接口(interface)添加一个属性。它不声明任何模块或接口(interface)。只需导出接口(interface)和类

....
export interface StrategyOption {
clientID: string;
clientSecret: string;
callbackURL: string;

scopeSeparator?: string;
enableProof?: boolean;
profileFields?: string[];
}
....
export class Strategy extends passportStrategy {...}

我试过以下方法。但是这些都失败了

/// <reference types="passport-linkedin-oauth2" />
export {}

declare global {
export interface StrategyOption {
scope?: string[] // does not work
}
}

export interface StrategyOption {
scope?: string[] // does not work
}

interface StrategyOption {
scope?: string[] // does not work
}

有没有办法给这种声明文件添加属性?

最佳答案

好吧,我找到了主意。都是关于 augmetation

所以我的代码应该是

import 'passport-linkedin-oauth2'

declare module 'passport-linkedin-oauth2' {
interface StrategyOption {
scope?: string[]
}
}

但是我不确定下面的配置有多重要

tsconfig.json

"compilerOptions": {
....
"baseUrl": ".",
"paths": {
"*": ["/src/types/*", "node_modules/*"]
}
}

在我的例子中,需要扩展声明文件位于 /src/types/ 目录中,没有任何子目录。

关于typescript - 无法将属性添加到 passport-linkedin-oauth2 声明文件的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56843971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com