【发布时间】:2014-05-15 13:29:52
【问题描述】:
随着我们的项目越来越大,我想从 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');
这里,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 文件中使用它而不制作定义文件?
【问题讨论】:
标签: javascript requirejs typescript