在 Angular中 使用 Lodash 的方法

如何Lodash 是 JavaScript 很有名的 package,尤其對於處理 array 很有一套,Angular 該如何使用 lodash 呢 ? 這也可以視為在 Angular 使用傳統 JavaScript package 的 SOP。

Version

Node.js 8.9.4

Angular CLI 1.6.2

Angular 5.2.2

安裝 Lodash

rush:js;"> ~/MyProject $ npm install lodash --save

使用 npm 安裝 lodash 。

安裝 Lodash Type 定義檔

rush:js;"> ~/MyProject $ npm install @types/lodash --save-dev

傳統 JavaScript 並沒有型別,但 TypeScript 是個強型別語言,除了型別外還有泛型,這該怎麼與傳統 JavaScript 搭配呢 ?

TypeScript 的解決方案是另外使用 *.d.ts ,此為 type 定義檔。

一般來說,若是知名的 JavaScript library,都已經有人維護 type 定義檔,其 package 的規則是 @types/package 。

由於 type 定義檔只是 TypeScript 編譯使用,以此加上 --save-dev 。

rush:bash;"> tsconfig.json { "compileOnSave": false,"compilerOptions": { "outDir": "./dist/out-tsc","sourceMap": true,"declaration": false,"moduleResolution": "node","emitDecoratorMetadata": true,"experimentalDecorators": true,"target": "es5","typeRoots": [ "node_modules/@types" ],"types" : ["lodash"],"lib": [ "es2017","dom" ] } }

14 行

rush:bash;"> "types" : ["lodash"],

在 typeRoots 新增 types ,在陣列中加入 lodash ,表示 TypeScript 在編譯時會使用剛剛安裝的 lodash type 定義檔。

console.log(score)); } }

第 2 行

rush:js;"> import * as _ from 'lodash';

載入 lodash 。

因為 lodash 習慣以 _ 使用,因此 import 時特別取別名為 _

WebStorm 對於 Angular 內建的 API,都可以自動 import,但對於 JavaScript 的 package,目前 WebStorm 還沒有辦法自動 import,需手動載入

15 行

rush:bash;"> _.remove(scores,2);

陣列的移除元素一直是 JavaScript 比較麻煩的部分,透過 lodash 的 remove() ,可以很簡單的使用。

Conclusion

實務上若有 Angular 版本的 package,當然優先使用;若遇到必須使用 JavaScript package 不可的場合,除了安裝 package 外,還要安裝 type 定義檔,並且在 tsconfig.json 設定,如此才可以在 Angular 正確使用並通過編譯

Sample Code

完整的範例可以在我的GitHub 上找到

总结

以上所述是小编给大家介绍的在 Angular中 使用 Lodash 的方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...