如何解决找不到“请求”的类型定义文件:node_modules/@looker/sdk-rtl/lib/oauthSession.d.ts:1:23 中的错误 - 错误 TS2688
我正在尝试将 Looker Embedded Client SDK 与 angular 集成,因此已安装 @looker/SDK 并根据官方 npm 页面上提供的指南配置设置,以便 @looker/sdk 访问 API。
但是当我尝试访问一些方法和类时,angular 应用程序开始失败。
外观
错误:
Error: error waiting for EC2 Transit Gateway VPC Attachment (tgw-attach-xxxxxxxxx) deletion: unexpected state 'Failed',wanted target 'deleted'. last error: %!s(<nil>)
和配置:
ERROR in node_modules/@looker/sdk-rtl/lib/oauthSession.d.ts:1:23 - error TS2688: Cannot find type deFinition file for 'request'.
1 /// <reference types="request" />
解决方法
我不太精通 Angular,但我认为这个错误是一个红鲱鱼。您正在尝试在 angular 应用程序中使用 Looker SDK (LookerBrowserSDK
) 的 Node 版本,这可能不会很好地工作。 NodeSDK 用于 Node.js 后端,我们提供 import { Looker31SDK,LookerBrowserSDK } from '@looker/sdk/lib/browser'
用于前端应用。
不幸的是,这不是很好的文档(我将尝试改进它),但我敢打赌,如果您尝试使用 browserSDK,您会取得更大的成功。
import { Looker31SDK,LookerBrowserSDK } from '@looker/sdk/lib/browser'
import { ApiSettings,IApiSettings,IApiSection } from '@looker/sdk-rtl'
/**
* @class CustomConfigReader
*
* A custom configuration reader that overrides the readConfig() method
* in NodeSettings to allow fetching client_id and client_secret
* from anywhere.
*/
class CustomConfigReader extends ApiSettings {
constructor(settings: IApiSettings) {
super(settings)
}
/**
* @returns an IApiSection object containing client_id and client_secret
*/
readConfig(): IApiSection {
return {
client_id: 'clientId',client_secret: 'clientSecret',}
}
}
;(async () => {
const sdk = LookerBrowserSDK.init31(
new CustomConfigReader({
base_url: 'https://<your-looker-server>:19999 or https://your.cloud.looker.com',} as IApiSettings)
)
const me = await sdk.ok(
sdk.me(
'id,first_name,last_name,display_name,email,personal_space_id,home_space_id,group_ids,role_ids'
)
)
console.log({ me })
})()
就像我说的,我真的不了解 Angular,但这里有一些 Javascript 如果你把它放在 ngOnInit 中应该会更好地工作。 browserSDK 和 nodeSDK 实现了相同的方法,所以一切都应该按照文档工作。唯一需要注意的重要区别是SDK的初始化不同,不能传递settings.ini文件什么的。如果您不想使用 Oauth,您可以创建一个自定义配置读取器并将其传递给它。看看:
{{1}}
然后实现你的功能。 browserSDK 和 nodeSDK 实现了相同的方法,所以一切都应该按照文档进行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。