簡體   English   中英

Angular - 對所有組件導入使用桶文件

[英]Angular - Use a Barrel File for all Component Imports

我目前正在使用Angular 5。

我為我在組件文件中使用的所有常見導入創建了一個桶文件。 我的問題是 - 對於延遲加載,樹搖動或其他任何我沒有想到的東西,例如AOT,這是一個好主意還是壞主意? 或者這種方法是否完全正確,不會影響加載時間或其他任何負面影響。 如果你能夠發現一些可以理解的原因。

例子:

  common-component-imports.ts:
    export { AppState, Event, EventPriority, EventType, Page, Unit, User, WindowSettings } from '../models/index';
    export { Component, ElementRef, Input, ViewChild, ViewChildren } from '@angular/core';
    export { Config, IonicPage, Loading, LoadingController, Modal, ModalController, Nav, NavController, NavParams, Platform, Toast, ToastController, ViewController } from 'ionic-angular';
etc../

而在我的組件中,我這樣做:

event.ts
import {
  Component,
  ElectronService,
  Event,
  AppState,
  IonicPage,
  NavController,
  NavParams,
  Store,
 } from '../shared/common-component-imports';

除了event.ts之外,我還在幾個文件上導入。

桶通常是一個好主意,但對延遲加載沒有影響。 https://angular.io/guide/glossary#barrel (桶已從詞匯表2018中刪除)

更新:“考慮創建一個”桶“文件,將所有攔截器提供程序收集到一個httpInterceptorProviders數組中,從第一個開始,NoopInterceptor。 https://angular.io/guide/http

樣式指南“與NgModules(2016-09-27)”StyleGuide解釋了NgModules的推薦約定。 桶現在遠沒那么有用,已經從風格指南中刪除了; 它們仍然很有價值,但不是Angular風格的問題。 同時放寬了不鼓勵使用@ Component.host屬性的規則。“ https://angular.io/guide/change-log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM