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

mvb*_*ffa 6 typescript

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

define('moduleA',
    ['jquery', 'underscore'], function ($, _) {
    }
});
Run Code Online (Sandbox Code Playgroud)

如何做到这一点,以便TypeScript编译器生成此代码.

小智 3

使用编译器的当前实现(0.8),实现您所寻求的方法如下。

测试.ts:

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

export module A {
    console.log(jquery.$ + underscore._);
}
Run Code Online (Sandbox Code Playgroud)

jquery.ts:

export var $ = null;
Run Code Online (Sandbox Code Playgroud)

下划线.ts:

export var _ = null;
Run Code Online (Sandbox Code Playgroud)

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

tsc --module AMD test.ts
Run Code Online (Sandbox Code Playgroud)

它会为你生成以下 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 = {}));
})
Run Code Online (Sandbox Code Playgroud)

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


归档时间:

查看次数:

2246 次

最近记录:

13 年,2 月 前