1

我有一个 Angular 2 项目并且一直在使用调试没有问题。我现在正在尝试使用汇总,但出现错误:

Cannot call a namespace ('debugModule')

这是指我导入调试的方式:

import * as debugModule from 'debug';

我已经看到解决方案是在不使用* as someName语法的情况下导入,如下所示:

import debug from 'debug';

或者可能:

import { Debug } from 'debug';

...但这些都不起作用(has no default exporthas no exported member 'Debug')。我已尽力查看两者的来源debug@types/debug 查看我应该导入的内容,但我能看到的只是来自@types/debug- 有IDebugIDebugger接口不是我想要的。

我应该如何导入debug才能rollup使用它?

看起来我可以通过这样调用它来强制它工作:

debug = debugModule.call(this, 'module:component');

虽然我不确定这可能会产生什么影响......

4

2 回答 2

0

您可以按如下方式导入它

import * as debugModule from 'debug';
const debug = debugModule()
于 2018-02-06T16:00:14.303 回答
0

所以我不知道为什么,但是如果您已安装@types/debug,则将import debug from 'debug'无法使用,但如果您只是删除,@types/debug则可以导入它。这并不能解决我debug在使用汇总时遇到的所有问题,但它可以Cannot call namespace解决问题并且您可以debug正常调用。

于 2017-03-29T21:59:54.210 回答