首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将angular-ui-router和RequireJS domReady作为TypeScript模块导入

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

Stack Overflow用户
提问于 2015-06-21 20:33:51
回答 1查看 439关注 0票数 2

我在样例中使用了AMD (特别是RequireJS)和TypeScript来支持外部模块。下面是RequireJS加载的数据(通过main.ts -main属性):

代码语言:javascript
复制
/// <reference path="../typings/tsd.d.ts" />
requirejs.config({
  paths: {
    jquery: '../bower_components/jquery/dist/jquery',
    angular: '../bower_components/angular/angular',
    uiRouter: '../bower_components/angular-ui-router/release/angular-ui-router',
    domReady: '../bower_components/requirejs-domready/domReady"
  },
  shim: {
    angular: {
        deps: ['jquery'],
        exports: 'angular'
    },
    uiRouter: {
        deps: ['angular']
    }
  },
  deps: ['bootstrapper']
});

下面是引导应用程序的bootstrapper.ts (未处于工作状态)文件:

代码语言:javascript
复制
import angular = require('angular') // works fine
import uiRouter = require('uiRouter') // VS Code throws error. External module not found.
import domReady = require('domReady') // Same error as above.

angular.bootstrap(domReady, ['myApp'], {strictDi: true}); // Not working due to domReady.

为了获得路由器和domReady依赖项,我不得不求助于常规RequireJS的define方法:

代码语言:javascript
复制
define(['angular',
  'domReady',
  'uiRouter'
], (angular, document, uiRouter) => {
  angular.bootstrap(document, ['myApp'], {strictDi: true});
});

任何想法,我如何才能使domReady和uiRouter作为TypeScript外部模块。

EN

回答 1

Stack Overflow用户

发布于 2015-07-06 07:52:41

我怎么才能把domReady和uiRouter作为TypeScript的外部模块呢?

HotFix

创建一个包含以下内容的文件vendor.d.ts

代码语言:javascript
复制
declare module "uiRouter" {
   var dummy:any;
   export = exp;
}
declare module "domReady" {
   var dummy:any;
   export = exp;
}

或者,您可以为这些内容创建适当的环境声明,或者在DefinitelyTyped中查找这些内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30964535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档