我曾经能够通过导入语句在Angular中使用lodash方法,如下所示:
import {debounce as _debounce} from 'lodash';
我现在在使用该语句时收到以下错误:
'"{...}/node_modules/@types/lodash/index"' has no exported member 'debounce'.
唯一能编译而没有错误的是这句话:
import * as _ from 'lodash';
在我的代码中,我将_debounce()更改为_.debounce()。这是唯一(和/或正确)的方式吗?有没有办法只进口去抖,或者由于“树木”而无关紧要?我意识到我可以编写自己的去抖函数,但我主要对“正确”的方法感兴趣。
附:我尝试过的其他变体(每种变体都有一些与之相关的错误):
import {debounce as _debounce } from 'lodash/debounce'; import * as _debounce from 'lodash/debounce'; import debounce = require('lodash/debounce');
仅供参考我…我使用以下版本:
Angular: 2.4.5
Typescript: 2.1.5
Angular-cli: 1.0.0-beta.26
(如果你关心树摇动,请看更新)
我想是为了把lodash带到你已经完成的项目中
我想是为了把lodash带到你已经完成的项目中
npm install lodash --save npm install @types/lodash --save-dev
如果您想要导入所需的功能,您应该:
import * as debounce from 'lodash/debounce'
要么
import { debounce } from "lodash";
用它作为:
debounce()
顺便说一句:你可能不得不将你的打字稿版本降级到2.0.10,因为你使用的是角度2.x.
npm install typescript@2.0.10 --save-dev
更新:
最近我意识到lodash包不是树可摇动的,所以如果你需要三个摇动只需使用lodash-es。
npm install lodash-es --save npm install @types/lodash-es --save-dev import debounce from 'lodash-es/debounce'