随着我们的项目越来越大,我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理。但是,我们将许多库用作 amd module,我们不想将其转换为 TypeScript。
我们仍然想将它们导入到 TypeScript 文件中,但我们也不想生成定义文件。我们怎样才能做到这一点?
例如新的typescript文件:
/// <reference path="../../../../definetelyTyped/jquery.d.ts" />
/// <reference path="../../../../definetelyTyped/require.d.ts" />
import $ = require('jquery');
import alert = require('lib/errorInfoHandler');
这lib/errorInfoHandler
是一个包含在我们不想接触的巨大 JavaScript 库中的 amd module。
使用上面的代码会产生以下错误:
Unable to resolve external module ''lib/errorInfoHandler''
Module cannot be aliased to a non-module type.
这实际上应该产生以下代码:
define(["require", "exports", "jquery", "lib/errorInfoHandler"], function(require, exports, $, alert) {
...
}
有没有办法将 JavaScript 库作为 amd module导入 TypeScript 并在 TypeScript 文件中使用它而无需制作定义文件?