[英]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.