2017-05-25 63 views
1

我正在使用Webpack将AngularJS与Typescript捆绑在一起(默认安装建议为here),我不能包含没有默认导出的模块,例如ui-bootstrap。诸如ui-router之类的模块没有这样的问题,因为它们的类型提到了默认导出。没有默认导出的Typescript + AngularJS + Webpack模块

JS代码工作:

import * as angular from 'angular'; 
import router from 'angular-ui-router'; 
import uibootstrap from 'angular-ui-bootstrap'; 

angular.module('app', [uirouter, uibootstrap]); 

然而在打字稿相同的代码(目标:ES6,模块:ES6,相同的WebPack导向提及的那些的所有设定)下降错误:

Module "node_modules/@types/angular-ui-bootstrap/index" has no default export.

使用angular.module('app', [uirouter, 'ui.bootstrap']);而不是抛出'ui.bootstrap'未找到错误。

回答

0

似乎用一个简单的import 'angular-ui-router'作品。

1

您可以在您的tsconfig.json中将allowSyntheticDefaultImports设置为true以继续导入import uibootstrap from 'angular-ui-bootstrap';,就好像angular-ui-bootstrap具有默认导出一样。

"compilerOptions": { 
    "allowSyntheticDefaultImports": true 
} 
+0

这似乎是正确的解决方案,但它仍然没有导入库,使得“ui.route”包含在我的角度模块中无法使用。 –