在typescript中引用javascript文件

use*_*771 31 javascript reference typescript

我想在打字稿文件中使用javascript函数.如何在typescript文件中引用包含该函数的javascript文件?

我试过了

<reference path="../libs/myjsfile.js" />
Run Code Online (Sandbox Code Playgroud)

这会在构建时带来错误: Cannot resolve referenced file: ../libs/myjsfile.js

Dou*_*oug 38

虽然上面的两个答案适用于小型或单个变量API,但正确的答案是为JavaScript文件编写一个类型声明文件.

您的示例的类型声明文件将命名为myjsfile.d.ts,其中.d.ts后缀告诉TypeScript编译器它正在解析声明文件.如果使用Visual Studio,只要它在您正在处理的项目中的某个位置(任何位置),TypeScript编译器就会识别您的声明文件.

声明文件存储有关JavaScript变量,函数和对象的元数据,因此TypeScript编译器可以完成其工作.如果您的JavaScript文件碰巧是常用的库或框架,那么DefinitelyTyped肯定是找到所需定义文件的地方.

如果您的JavaScript是您自己的工作或不太知名,您将必须编写自己的类型声明文件.请参阅TypeScript手册编写.d.ts文件一节.

如果名称声明文件听起来令人生畏,请不要担心 - 它们比程序更容易编写.此外,请记住,您不需要为JavaScript文件指定所有元数据,只需指定所需的功能.

如果您需要任何帮助,请告诉我!

  • 但是,你如何在你的.ts文件中包含.d.ts? (4认同)

A. *_*K-R 8

你只需要告诉编译器该方法存在于typescript之外:

declare function myJavaScriptFunction(param1: number, param2: JQuery): void;
Run Code Online (Sandbox Code Playgroud)

确保网站加载所需的所有文件,普通的js文件和typescript编译器生成的js文件