在TypeScript中为RequireJS

时间:2017-05-17 05:50:20

标签: typescript module requirejs alias definition

我目前有几个JavaScript文件,我试图移植到TypeScript。虽然我找到了几种复制我需要的方法,但是有一种方法可以从提供的文档中找不到。

我们的脚本通常(并且我使用松散的术语),模块以某些内容开头:

define('mymodule', ['dependency1', 'dependency2'], function (dep1, dep2) {
   // all the guts in here.
});

现在,我已经读过(事后)我们可能不应该向define()调用提供第一个参数,但我们做了然后设置了requireJS配置来指定所有这些模块名称及其路径。

在TypeScript中是否有任何方法可以导出模块的名称或别名,以便我可以指定定义的第一个参数,以便在RequireJS目录中正确解析它?我尝试过这个变种:

export module MyNewModule as "mymodule" { }

尝试这样做还没有找到我能做到这一点的方法,而且我更愿意让TypeScript语言为我生成define()而不是自己动手。

如果没有办法做到这一点,那么我想我只是将我的舔,将其添加到define()语句并在迁移过程中开始以TypeScript方式处理。

1 个答案:

答案 0 :(得分:0)

好的,这是一个搜索,但我终于设法得到了答案。显然有三条斜杠评论指令可以用来做到这一点。

我在JavaScript文件的顶部使用了以下内容:

/// <amd-module name="mymodule" />

这为jQuery生成的define()添加了“mymodule”的第一个参数,所以现在输出几乎就是我所需要的。我忘记提到我们目前使用的是TypeScript版本1.85,我们很快就会迁移到2.3(当我们升级到Visual Studio 2017时)。希望在发生这种情况时不会破坏。