在TypeScript中使用import/require来获取接口声明

dcs*_*raw 8 javascript js-amd typescript

如果我使用/// <reference path="..."/>语法引用TypeScript声明文件(例如jquery.d.ts),我应该确保通过其他方式加载相应的库,即只引用.d.ts文件不加载图书馆.

require()当我使用它时,有没有办法让TypeScript生成对库的调用?如果我没有使用AMD/requirejs,我可以require手动调用,但我想让它与AMD合作.

这样做的好处是我的依赖关系不会在两个地方定义.从.ts文件引用库就足以确保它加载,而不必在我的HTML中手动维护依赖项列表.

更新:我开了一个新问题,澄清了我的确切情况.因为我没有提供所有必要的细节,所以我想对我原来问题的答案给予赞扬.

小智 6

是的,TypeScript支持"外部"模块,它们基本上是一流的AMD或CommonJS模块.例如:

MyLib.ts

export function foo() { return 'bar' }
Run Code Online (Sandbox Code Playgroud)

MyProj.ts

import lib = module('./MyLib.ts')
lib.foo(); // returns bar
Run Code Online (Sandbox Code Playgroud)

使用"--module amd"编译它,您将获得正确的模块并需要为您生成语法.