я использовал, чтобы иметь возможность использовать метод lodash в Угловом с помощью оператора импорта, похожего на следующий:Правильный путь импорта и использования lodash в угловом
import {debounce as _debounce} from 'lodash';
теперь я получаю следующее сообщение об ошибке при использовании, что заявление:
'"{...}/node_modules/@types/lodash/index"' has no exported member 'debounce'.
единственное, что будет компилировать без ошибок это утверждение:
import * as _ from 'lodash';
В моем коде я меняю _debounce()
на _.debounce()
. Это единственный (и/или правильный) способ сделать это? Есть ли способ импортировать debounce, или это не имеет значения из-за «treeshaking»? Я понимаю, что могу написать свою собственную функцию дебюта, но меня в основном интересует «правильный» способ сделать это.
p.s. Другие варианты, которые я пробовал (у каждого есть какие-то ошибки, связанные с ним):
import {debounce as _debounce } from 'lodash/debounce';
import * as _debounce from 'lodash/debounce';
import debounce = require('lodash/debounce');
FYI ... Я использую следующие версии:
Angular: 2.4.5
Typescript: 2.1.5
Angular-cli: 1.0.0-beta.26
Да, у меня есть lodash и @ types/lodash. Спасибо за хедз-ап на машинописном тексте. Два примера, которые вы дали, работали для меня, но по какой-то причине они больше не нужны. Например, используя ваш первый пример, я получаю следующую ошибку: Module '"{path_to_project}/node_modules/@ types/lodash/debounce/index" "разрешает немодульный объект и не может быть импортирован с использованием этой конструкции. На данный момент это работает для меня, но мне в основном интересно, как и почему все изменилось. – jloosli
В моем проекте есть '@ types/lodash @ 4.14.44' и' lodash @ 4.17.2'.'import {debounce} из" lodash ";' работает для меня. – Kuncevic
Вы также можете ссылаться на функцию _ как {цепочка}. – alalonde