typescript - 如何在 TypeScript AMD 模块中定义依赖模块

标签 typescript

如何使用 TypeScript 在 AMD 模块中定义依赖模块,例如,包括 jQuery 和下划线。例如,我使用 JavaScript,就像这样:

define('moduleA',
    ['jquery', 'underscore'], function ($, _) {
    }
});

如何才能让 TypeScript 编译器生成这段代码。

最佳答案

使用当前编译器 (0.8) 的实现方式如下。

测试.ts:

import jquery = module("jquery");
import underscore = module("underscore");

export module A {
    console.log(jquery.$ + underscore._);
}

jquery.ts:

export var $ = null;

下划线.ts:

export var _ = null;

如果您使用模块开关编译 test.ts:

tsc --module AMD test.ts

它将为您生成以下 JS 文件:

define(["require", "exports", "jquery", "underscore"], function(require, exports, __jquery__, __underscore__) {
    var jquery = __jquery__;
    var underscore = __underscore__;
    (function (A) {
        console.log(jquery.$ + underscore._);
    })(exports.A || (exports.A = {}));
})

请注意,如果您将 import 语句放入模块中,由于存在错误,它会正确记录代码生成。该团队目前正在修复该项目,但希望这不会阻止您。

关于typescript - 如何在 TypeScript AMD 模块中定义依赖模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12783025/

相关文章:

javascript - Angular 2 Typescript 打字路径问题

typescript - 确保 TypeScript 联合在整个代码中保持狭窄

typescript - 如何修复 `Class constructor LitElement cannot be invoked without ' new'`?

javascript - 从对象中获取最大的键

带有注释参数属性的 Typescript jsdoc

typescript - 使用 Assemblyscript 将类从 WebAssembly 导出到 JavaScript?

typescript - 如何检查对象是否为 typescript 中的自定义类型?

typescript - 在 Typescript 中实现 Either Monad

angular - 装饰器不支持对非导出类的引用

html - 模板似乎只等待 Observable 产生一次