2017-04-05 55 views
1

我有一個文件名爲service.imports.ts,它具有以下代碼。角度2中的全局導入文件的影響

export { Http, Response, Headers, RequestOptions } from '@angular/http' 
export { Observable } from 'rxjs/Observable' 
export { Injectable } from '@angular/core'; 
export * from 'rxjs/add/operator/map'; 
export * from 'rxjs/add/operator/catch'; 

,並呼籲在我的角度2個service.ts文件文件由

import { Http } from '../service.imports'

正如你可以看到,我只是打電話Http模塊,而忽略Response, Headers, RequestOptions

角2如何處理這種情況?它是否會加載service.imports.ts中提到的所有模塊,或者它只加載正在調用的模塊,即使用service.imports.ts,即只有Http

我有性能問題。

回答

1

不,這些進口並不重要。編譯步驟將擺脫它們。

這將是不同的,如果你想將它們添加到

@NgModule({ 
    imports: [...], 
    declarations: [...], 
    bootstrap: [...], 
    entryComponents: [...] 
}) 

使用桶甚至一個角風格指南建議前一段時間,直到他們發現它經常會導致像Angular 2 DI Error - EXCEPTION: Can't resolve all parameters

+0

問題,所以你建議我以這種方式設計我的應用程序?這是一個好習慣嗎? –

+0

Angular團隊離開它,因爲它會導致問題。我不會創建一個收集所有導入的文件。我會在某種程度上做到這一點,就像模塊(與NgModule相同的粒度),但不適用於整個應用程序。 –

+0

謝謝你的建議。 –