Как импортировать отладку в проект TypeScript, на котором вы будете использовать накопительный пакет?
У меня есть проект 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 export
а также has no exported member 'Debug'
). Я сделал все возможное, чтобы посмотреть на источник обоих debug
а также @types/debug
чтобы увидеть, что я должен импортировать, но все, что я могу видеть, это от @types/debug
- имеются IDebug
а также IDebugger
интерфейсы, которые не то, что я ищу.
Как я должен импортировать debug
такой, что rollup
будет хорошо с этим?
Похоже, я могу заставить его работать, называя это так:
debug = debugModule.call(this, 'module:component');
Хотя я не уверен, какие последствия это может иметь вперед...
2 ответа
Вы можете импортировать его следующим образом
import * as debugModule from 'debug';
const debug = debugModule()
Так что я не знаю почему, но если вы установили @types/debug
затем import debug from 'debug'
не будет работать, но если вы просто удалите @types/debug
тогда вы можете импортировать его. Это не решает всех проблем, с которыми я сталкиваюсь debug
при использовании накопительного пакета, но он останавливает Cannot call namespace
проблема, и вы можете позвонить debug
обычно.