找不到“请求”的类型定义文件: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 实现了相同的方法,所以一切都应该按照文档进行。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...