随着我们的项目变得越来越大,我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理。然而,我们使用许多库作为 amd 模块,我们不想将其转换为 TypeScript。
我们仍然想将它们导入 TypeScript 文件,但我们也不想生成定义文件。我们怎样才能做到这一点?
例如新的 Typescript 文件:
/// <reference path="../../../../definetelyTyped/jquery.d.ts" />
/// <reference path="../../../../definetelyTyped/require.d.ts" />
import $ = require('jquery');
import alert = require('lib/errorInfoHandler');
Here, lib/errorInfoHandler
是一个 amd 模块,包含在一个巨大的 JavaScript 库中,我们不想触及它。
使用上面的代码会产生以下错误:
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 模块导入到 TypeScript 中,并在 TypeScript 文件中使用它,而无需创建定义文件?