首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为本机javascript libary (vimeo)创建角类型

为本机javascript libary (vimeo)创建角类型
EN

Stack Overflow用户
提问于 2022-02-03 11:03:06
回答 1查看 150关注 0票数 0

目前,我正在将一些角度库重构到NX工作区中。工作区由多个视频播放器库组成。

@只包含YouTube的类型,而不包含DailyMotion、Vimeo (不是正确的)或SoundCloud的类型。在过去,我可以通过添加一个文件来解决这个问题。

src/lib/接口/vimeo.ts

代码语言:javascript
复制
declare namespace Vimeo {
    export class Player {
        ...
    }
}

到我的工作区,并在我的组件中引用它:

代码语言:javascript
复制
/// <reference path="../../interfaces/vimeo.ts" />

@Component({
  selector: 'vimeo-player'
})
export class VimeoPlayerComponent { }

这将导致生产建设的成功。

以下是关于这个主题的角度文档

但是,如果我尝试在我的新项目中做同样的事情,我将从NX获得以下信息:

所以我试着通过:

  • 将类型声明文件移动到src/types/vimeo/index.d.ts
  • 修改tsconfig.lib.json
    • 添加到类型:"types": [ "node", "vimeo" ]
    • 包括文件:"include": ["**/*.ts", "src/types/vimeo/index.d.ts"]

  • 从我的组件引用名称空间:

代码语言:javascript
复制
import 'vimeo';
import { ... } from '...';

@Component({
  selector: 'vimeo-player',
})
export class VimeoPlayerComponent {
    ...
}

现在,在VS代码中,我可以从组件中轻松地单击Vimeo player,因此我假设声明文件应该按预期工作,但在运行时仍然是这样。

代码语言:javascript
复制
npm run nx run-many -- --target=build --projects=mintplayer-ng-player-progress,mintplayer-ng-vimeo-api,mintplayer-ng-vimeo-player --configuration production

我仍然收到以下错误:

代码语言:javascript
复制
error TS2688: Cannot find type definition file for 'vimeo'.
    The file is in the program because:
        Entry point of type library 'vimeo' specified in compilerOptions
   libs/mintplayer-ng-vimeo-player/src/lib/components/vimeo-player/vimeo-player.component.ts:40:29 - error TS2304: Cannot find name 'Vimeo'.

   40           this.player = new Vimeo.Player(this.domId, {
                                  ~~~~~

这过去很好,编译时没有错误,比如这里,但是现在我得到了上面的错误。新的存储库(NX工作区)是推到这里

从今天起,您推荐使用原生javascript库并添加棱角类型的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-03 22:05:53

我已经能够通过放置就像这里类型并从tsconfig.lib.json引用这个文件夹来使其正常工作。types文件夹必须包含一个以您想要的类型命名的文件夹(如vimeo),以及index.d.ts中的文件夹。

在您的类型记录代码中不需要import语句。

遗憾的是,对于每个需要javascript库类型的应用程序/库,您似乎都必须这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70970135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档