Correct Way Of Importing And Using Lodash In Angular


Answer :

(if you care about tree shaking see update)

I suppose in order to bring lodash in to your project you already done



npm install lodash --save
npm install @types/lodash --save-dev


If you want to import just required functions you should do:



import * as debounce from 'lodash/debounce'


or



import { debounce } from "lodash";


Use it as:



debounce()


BTW: You might have to downgrade your typescript version to 2.0.10 as you are using angular 2.x.



npm install typescript@2.0.10 --save-dev


UPDATE:



Recently I realised that lodash package is just not tree shakable, so if you need tree shaking just use lodash-es instead.



npm install lodash-es --save
npm install @types/lodash-es --save-dev

import debounce from 'lodash-es/debounce'


Importing lodash or any javascript library inside angular:



step-1: Install the libarary(lodash)



npm i --save lodash


step-2: import it inside the component and use it.



import it as follow:



import 'lodash';

declare var _:any;


or



import * as _ from 'lodash';


Step-3: Install type definitions for Lo-Dash (it's optional)



npm install --save-dev @types/lodash


see the example if you still have doubts



import { Component, OnInit } from '@angular/core';
// import * as _ from 'lodash';
import 'lodash';

declare var _:any;

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'test-lodash';

ngOnInit() {
console.log(_.chunk(['a', 'b', 'c', 'd'], 2)); //lodash function
console.log(_.random(1, 100)); //lodash function
}

}


This solved it for me, as written under "updated" by Kuncevič and edited by Roy



yarn add lodash-es
yarn add @types/lodash-es --dev

import { debounce as _debounce } from 'lodash';


I had to import the es-modules, else I was given compilation errors - most likely due to my configuration (tsconfig.json).



Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable