我使用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”'找不到错误。
答案 0 :(得分:3)
您可以在allowSyntheticDefaultImports
中将tsconfig.json
设置为true,以继续导入import uibootstrap from 'angular-ui-bootstrap';
,就好像angular-ui-bootstrap
有默认导出一样。
"compilerOptions": {
"allowSyntheticDefaultImports": true
}
答案 1 :(得分:2)
似乎使用简单的import 'angular-ui-router'
作品。