如何将调试导入到您将使用汇总的TypeScript项目中?

时间:2017-03-27 23:44:55

标签: angular typescript rollupjs npm-debug

我有一个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 exporthas no exported member 'Debug')。我已尽力查看debug@types/debug的来源 看看我应该导入什么,但我能看到的只有@types/debug - 有IDebugIDebugger接口,这些都不是我想要的。

我应该如何导入debug,以便rollup可以使用它?

看起来我可以通过这样的方式强迫它发挥作用:

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

虽然我不确定可能会有什么后果......

2 个答案:

答案 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()