将Angular JavaScript模块导入TypeScript

时间:2015-09-30 13:43:11

标签: javascript angularjs typescript

我有一堆用JavaScript编写的Angular模块,并希望将它们导入TypeScript。我尝试使用import和require,但由于仅对TypeScript模块进行导入检查,因此无法找到我的角度模块。

import myModule= require('myModule');

有没有其他方法可以做到这一点,而不是在TypeScript中转换我的J?

2 个答案:

答案 0 :(得分:1)

您不能直接使用TypeScript中使用angular.module('my', [])定义的模块。这种表示法仅用于在内部angularJS对象内注册模块。 从良好的代码角度来看,您必须将角度模块重新设计为TypeScript / CommonJS / AMD模块,并在角度应用程序中重复使用它们。 但你可以采取另一种方式:

  1. 创建隐藏的div元素。
  2. 引导您要在此div元素上导入的角度模块。以下是link to angularJS documentation,可能会有所帮助。
  3. 使用下一个代码段来使用服务或在您的模块中注册的其他内容:angular.element(document.getElementById('myhiddendiv')).injector.invoke(function(YourService: any) { YouService.doDirtyJob(); })
  4. 但我建议选择第一个选项。

答案 1 :(得分:0)

导入模块也会查找JS文件......

import $Module = require("myModule");

这应该可以正常工作!在TypeScript中,您使用'$'调用模块并使用它:

$Module.createdWhateverFunctionYouMade(parameters);

在这种情况下,'myModule'是Javascript文件。