简介
@laco0416/angular2-commons 是一个 Angular 2 常用工具集封装的 npm 包。它内置了一些方便的工具类和服务,如常量定义、HTTP 请求封装、本地存储等。
在开发 Angular 2 项目时,使用 @laco0416/angular2-commons 可以极大地提高代码的可读性和可维护性,尤其是在写 Service 的时候,@laco0416/angular2-commons 提供了很好的帮助。
安装
npm i @laco0416/angular2-commons
使用
导入模块
将模块导入到 Angular 2 项目的模块中:
-- -------------------- ---- ------- ------ - ------------- - ---- ----------------------------- ----------- -------- - -------------- --- -- --- -- ------ ----- --------- - -
常量定义
在开发 Angular 2 项目时,常量的定义是个头疼的问题,一般情况下我们会将常量定义在一个普通的 ts 文件中。但这样做有一定的弊端:
- 常量失去了属于这个项目的命名空间,容易造成冲突。
- 必须要导入这个文件才能使用。
使用 @laco0416/angular2-commons 中的 Constants 工具类来解决这些问题。Constants 是一个静态工具类,可以将常量定义在 Constants 类中,然后在应用的任何地方引用。
import { Constants } from '@laco0416/angular2-commons'; Constants.def('name', 'value'); console.log(Constants.name); // 'value'
HTTP 请求封装
在 Angular 2 开发中,我们经常需要使用 HTTP 请求数据。@laco0416/angular2-commons 中集成了一个 HTTP 请求的封装类,使得 HTTP 请求不再需要每次写那些繁琐的代码。
-- -------------------- ---- ------- ------ - ----------- - ---- ----------------------------- ----- --------- - ------------------- ------------ ------------ -- ----------- ------- - ------ ----------------------------------- - -
上面的代码中,我们使用 HttpService 的 get 方法请求了 /user/:id 这个 API 的数据,并返回了 Observable 类型的数据。
本地存储
在我们需要缓存一些数据的时候,一般会选择使用浏览器提供的 localStorage API。但是对于某些场景来说,需要更高级的缓存策略,比如自动过期、缓存超时等。
@laco0416/angular2-commons 中提供了一个高级缓存服务,CacheService。使用 CacheService 可以轻松实现缓存策略。
-- -------------------- ---- ------- ------ - ------------ - ---- ----------------------------- ----- --------- - ------------------- ------------- ------------- -- ----------- ------- - ----- ------ - - ---- ------------- ----------- ------ -- -------- -------- ---------------------------------- -- ------ -------------------------------- - -
上面的代码中,我们使用 CacheService 的 cache 方法缓存了一个 /user/:id 的数据。缓存的策略是 10 分钟过期,当缓存过期后再次请求数据。在 CacheService 中,缓存的数据会被自动存储在 localStorage 中,下次打开网页时不需要重新请求数据。
总结
@laco0416/angular2-commons 是一个很不错的 Angular 2 工具包,使用 @laco0416/angular2-commons 可以很方便地实现一些常用的功能,如常量定义、HTTP 请求封装、本地存储等。同时,使用 @laco0416/angular2-commons 还可以提高 Angular 2 项目的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bc7967216659e24448e