角度-将桶文件用于所有组件导入

Roo*_*ife 5 import components export angular

我目前在使用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../
Run Code Online (Sandbox Code Playgroud)

而且比起我的组件,我正在这样做:

event.ts
import {
  Component,
  ElectronService,
  Event,
  AppState,
  IonicPage,
  NavController,
  NavParams,
  Store,
 } from '../shared/common-component-imports';
Run Code Online (Sandbox Code Playgroud)

而且除了event.ts之外,我还在其他几个文件上导入了该文件。

mru*_*ova 4

一般来说,桶是一个好主意,但对延迟加载没有影响。 https://angular.io/guide/glossary#barrel(barrel已从 2018 年术语表中删除)

更新:“考虑创建一个“桶”文件,将所有拦截器提供程序收集到一个 httpInterceptorProviders 数组中,从第一个 NoopInterceptor 开始。” https://angular.io/guide/http

《Style Guide》和 NgModules (2016-09-27) 《StyleGuide 解释了 NgModules 的推荐约定。现在,桶的用处已大大减少,并且已从样式指南中删除;它们仍然有价值,但与 Angular 风格无关。还放宽了不鼓励使用 @Component.host 属性的规则。” https://angular.io/guide/change-log