首页 > 解决方案 > 只为编译导入 DefinitiveTyped 定义

问题描述

我有一个简单的网页,我用它来播放来自 Vimeo 的视频。

<!-- <!DOCTYPE html> -->
<html>
<body>
    <div id="myVideo"></div>
    
    <script src="https://player.vimeo.com/api/player.js"></script>
    <script src="myScript.js"></script>
</body>
</html>

我刚刚myScript在 Typescript 中重新编写,为了使类型检查和代码完成正常工作,vimeo__player使用以下命令从 distinctlyTyped 导入定义:

npm init npm install --save @types/vimeo__player

我的脚本现在如下所示,顶部添加了 import 语句。

import * as Vimeo from "vimeo__player"

var options = {
    url: "https://player.vimeo.com/video/440690051",
    width: 640,
    height: 360,
    controls: false,
    autoplay: true
}
var player = new Vimeo.Player("myVideo", options)

但是,现在当我用tsc myScript.ts代码编译它时,它不会在浏览器中运行,因为以下 2 行添加到myScript.js.

exports.__esModule = true;
var Vimeo = require("vimeo__player");

如何告诉Vimeo将在我的 HTML 中提供的打字稿,而不用担心为我提供它?即仅使用该导入语句进行编译?

标签: javascripttypescriptdefinitelytyped

解决方案


推荐阅读