Why isn't "default export" recommended in Angular?

According to the Typescript documentation (section "Module Structuring Guide") :

If you export only one class or function, use the default export

Just as “export near the top level” reduces friction on your consumer modules, as well as entering default export. If the main purpose of the modules is to host one specific export, then you should consider exporting as a default export. This makes importing and actually using import a little easier.

Example:

export default class SomeType {
  constructor() { ... }
}

In the Angular documentation for components (for example) you can see the following:

export class HeroListComponent implements OnInit {
  heroes: Hero[];
  selectedHero: Hero;

  constructor(private service: HeroService) { }

  ngOnInit() {
    this.heroes = this.service.getHeroes();
  }

  selectHero(hero: Hero) { this.selectedHero = hero; }
}

, . , , Angular export default?

+4
1

, AOT, JIT. , AOT ( ), . . :

AoT - .

❌ DONT:

import { Component } from '@angular/core';

@Component({
  template: `
    <div class="example">
      Example component!
    </div>
  `
})
export default class ExampleComponent {

}

✅ DO:

import { Component } from '@angular/core';

@Component({
  template: `
    <div class="example">
      Example component!
    </div>
  `
})
export class ExampleComponent {

}
+5

Source: https://habr.com/ru/post/1684755/


All Articles