在根角度模块中导出

时间:2018-10-03 20:21:02

标签: angular

为什么在有角度的应用程序中,如果没有其他模块导入根模块,则需要将其导出?

这是我的摘录

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';

import { AppComponent } from './app.component';
import { HerosComponent } from './heros/heros.component';
import { HeroDetailComponent } from './hero-detail/hero-detail.component';

@NgModule({
  declarations: [
    AppComponent,
    HerosComponent,
    HeroDetailComponent
  ],
  imports: [
    BrowserModule, FormsModule
  ],
  providers: [],
  bootstrap: [AppComponent, HerosComponent]
})
export class AppModule { }

2 个答案:

答案 0 :(得分:3)

AppModule类具有一个打字稿export关键字,因为它是由main.ts导入的,用于启动Angular应用程序:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';

platformBrowserDynamic().bootstrapModule( AppModule );

答案 1 :(得分:1)

main.ts 中有一个 Bootstrap进程。有许多方法可以引导应用程序。这些变化取决于您要如何编译应用程序以及在何处运行它。首先,您将使用Just-in-Time (JIT)编译器动态编译应用程序,然后在浏览器中运行它。 (More about Just-in-time and Ahead-of-time compilation in angular here.

Angel团队推荐的用于引导JIT编译的浏览器应用程序的位置在名为src的{​​{1}}文件夹中的单独文件中。因此,应导出src/main.ts以便在AppModule中使用它。

main.ts

此代码创建了用于动态(JIT)编译的浏览器平台,并引导了上述AppModule。

引导过程设置执行环境,从模块的引导程序数组中挖掘根import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; platformBrowserDynamic().bootstrapModule(AppModule); ,创建组件实例,并将其插入到组件选择器标识的element标签中。

来源: Angular docs archives