我正在使用 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 指南中提到的相同)会抛出错误:
Module "node_modules/@types/angular-ui-bootstrap/index" has no default export.
使用 angular.module('app', [uirouter, 'ui.bootstrap']);
会抛出一个 'ui.bootstrap' not found 错误。
最佳答案
您可以在 tsconfig.json
中将 allowSyntheticDefaultImports
设置为 true 以继续导入 import uibootstrap from 'angular-ui-bootstrap';
作为如果 angular-ui-bootstrap
有默认导出。
"compilerOptions": {
"allowSyntheticDefaultImports": true
}
关于angularjs - 没有默认导出的 Typescript+AngularJS+Webpack 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44179559/