在 Angular 2 / 4 应用程序中包含 lodash 的正确可测试方法是什么?



我有一个使用 lodash 的 angular 4 应用程序。在阅读有关 angular 4 的信息时,大多数内容都通过依赖注入包含在内,以使测试更容易。

我是否需要担心将 DI 用于 lodash,如果是这样,我该如何为我的项目设置它?

是的,您应该使用 DI 使您的代码松散耦合。

在这种情况下,您应该创建下划线可注入依赖项。创建相同的OpaqueToken会很有用。

common/underscore.service.ts

import { OpaqueToken } from '@angular/core'
declare let _: any ; //just typescript to consider _ API is available
export let UNDERSCORE = new OpaqueToken('UNDERSCORE');
export const loadDashProvider = [
{ provide: UNDERSCORE, useClass: _}
];

应用模块

//imports here
declare let _: any ; //just typescript to consider _ API is available
@NgModule({
declarations: [...],
imports: [...],
providers: [
//... other dependecies ... ,
loadDashProvider
],
})
export class AppModule {
}

每当你想访问_js API,你可以在你的类构造函数中使用UNDERSCORE令牌,它最终会_API 引入其中。

最新更新