我有一个Angular 2项目并且一直使用debug没有问题。我现在正在尝试使用rollup并收到错误:
Cannot call a namespace ('debugModule')
这是指我导入调试的方式:
import * as debugModule from 'debug';
我已经看到解决方案是在不使用* as someName
语法的情况下导入,如下所示:
import debug from 'debug';
或者也许:
import { Debug } from 'debug';
...但这些都不起作用(has no default export
和has no exported member 'Debug'
)。我已尽力查看debug
和@types/debug
的来源
看看我应该导入什么,但我能看到的只有@types/debug
- 有IDebug
和IDebugger
接口,这些都不是我想要的。
我应该如何导入debug
,以便rollup
可以使用它?
看起来我可以通过这样的方式强迫它发挥作用:
debug = debugModule.call(this, 'module:component');
虽然我不确定可能会有什么后果......
答案 0 :(得分:0)
所以我不知道为什么,但是如果您安装了ClientError
,那么@types/debug
无法正常工作,但如果您只是删除了import debug from 'debug'
,那么您可以导入它。这并不能解决我在使用汇总时遇到@types/debug
时遇到的所有问题,但它会停止debug
问题,您可以正常调用Cannot call namespace
。
答案 1 :(得分:0)
您可以按如下方式导入
import * as debugModule from 'debug';
const debug = debugModule()