繁体   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