没有默认导出的Typescript + AngularJS + Webpack模块

时间:2017-05-25 11:33:28

标签: angularjs typescript webpack bootstrap-ui

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

JS代码有效:

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

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

然而,Typescript中的相同代码(目标:es6,模块:es6,与webpack指南中提到的所有设置相同)会丢失错误:

  

模块" node_modules / @ types / angular-ui-bootstrap / index"没有默认导出。

使用angular.module('app', [uirouter, 'ui.bootstrap']);代替投出“ui.bootstrap”'找不到错误。

2 个答案:

答案 0 :(得分:3)

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

"compilerOptions": {
    "allowSyntheticDefaultImports": true
}

答案 1 :(得分:2)

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