导入angular ui router和RequireJS domReady作为TypeScript模块

导入angular ui router和RequireJS domReady作为TypeScript模块,requirejs,visual-studio-code,typescript1.5,Requirejs,Visual Studio Code,Typescript1.5,我在示例中使用AMD(特别是RequireJS)和TypeScript来支持外部模块。下面是main.ts,它需要js加载(通过数据主属性): 我必须使用常规的RequireJS'define方法来获取路由器和domReady依赖项: define(['angular', 'domReady', 'uiRouter' ], (angular, document, uiRouter) => { angular.bootstrap(document, ['myApp'], {str

我在示例中使用AMD(特别是RequireJS)和TypeScript来支持外部模块。下面是
main.ts
,它需要js加载(通过数据主属性):

我必须使用常规的RequireJS'
define
方法来获取路由器和domReady依赖项:

define(['angular',
  'domReady',
  'uiRouter'
], (angular, document, uiRouter) => {
  angular.bootstrap(document, ['myApp'], {strictDi: true});
});
有没有办法让domReady和uiRouter成为TypeScript外部模块

有没有办法让domReady和uiRouter成为TypeScript外部模块

热修复 有一个包含以下内容的文件
vendor.d.ts

declare module "uiRouter" {
   var dummy:any;
   export = exp;
}
declare module "domReady" {
   var dummy:any;
   export = exp;
}

或者,您可以为这些文件创建适当的环境声明,或者在DefiniteTypted上查找这些文件。

Thank@basarat。我不确定应该从“uiRouter”模块导出什么。角度ui路由器位于单独的“ui.router”角度模块中。所以
export=?
使用///Yes是一个好主意,但前提是您不打算实际使用导出的值
define(['angular',
  'domReady',
  'uiRouter'
], (angular, document, uiRouter) => {
  angular.bootstrap(document, ['myApp'], {strictDi: true});
});
declare module "uiRouter" {
   var dummy:any;
   export = exp;
}
declare module "domReady" {
   var dummy:any;
   export = exp;
}