在Typescript中需要AMD模块

时间:2015-12-30 21:09:36

标签: typescript

我正在玩TypeScript和GoogleMaps,我找到了一些我不知道的JS库,如果我以正确的方式使用它。

我尝试使用require加载和AMD模块(信息块),如下例所示:

/// <reference path="../typings/tsd.d.ts" />

import $ = require("jquery");
import Visor = require("./Visor");
import GoogleMapsLoader = require('google-maps');

//THIS IS IMPORTANT TO LOAD JS AMD LIBRARIES
declare var require: (moduleId: string) => any;
var InfoBubble: any = require("./libs/infobubble");

这段代码效果很好,但我不确定这是不是正确的方法。

1 个答案:

答案 0 :(得分:1)

如果您使用import--module amd进行编译,

--module umd语句会执行与AMD要求调用相同的操作。因此,您应该能够简化代码并写下:

import $ = require('jquery');
import Visor = require('./Visor');
import GoogleMapsLoader = require('google-maps');
import InfoBubble = require('./libs/infobubble');

(作为旁注,我还建议您在运行typings.d.ts时将tsc文件包含在命令行中,而不是使用引用注释,或者将其放入files的{​​{1}}数组。

原因是引用注释会影响整个编译环境,而不仅仅是它们所在文件的环境,这意味着如果您更改/删除此文件,可能会意外破坏您的文件当其他文件间接依赖此评论时构建。)