在学习角度模块时,我开始怀疑我们是否可以更改角度的默认模块。我尝试过但是失败了。我对文件所做的更改:
我在名为:core的src目录下创建了一个新目录,其中包含以下类:core.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { CoreComponent } from './core.component';
@NgModule({
imports: [ BrowserModule ],
declarations: [ CoreComponent ],
bootstrap: [ CoreComponent ]
})
export class CoreModule { }
核心目录也包含core.component.ts
import { Component } from "@angular/core";
@Component({
selector: 'core',
template: `<h2> Core Component Welcome you</h2>`
})
export class CoreComponent { }
对main.ts进行了以下更改
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { environment } from './environments/environment';
import { CoreModule } from './core/core.module';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(CoreModule)
.catch(err => console.error(err));
和index.html
<core>loading core component</core>
我知道在现实世界中没有人会费心更改应用程序模块,但是我只是想了解事情的运作方式,因此,如果您能帮助我了解事情的运作方式,我丢失了什么,或者什至没有解决,可以更改默认模块。
更新:控制台不会报告任何错误,但是不会加载内容。而不是显示(来自core.component.ts模板部分):
核心组件,欢迎您。
仅显示(来自index.html部分):
加载核心组件
app.module被认为是根模块,并且根模块与其他角度模块只有很少的区别
1️⃣导入BrowserModule
2️⃣最近声明的组件之一必须添加到引导程序数组中
3️⃣在index.html
中添加一个元素,与引导程序组件选择器匹配
4️⃣通过将模块引用传递给main.ts上bootstrapModule
对象的platformBrowserDynamic
方法,将新模块设置为根模块。
core.module.ts
@NgModule({
imports: [BrowserModule], // 👉 1️⃣
declarations: [CoreComponent],
bootstrap: [CoreComponent] // 👉 2️⃣
})
export class CoreModule {}
index.html
<core>loading</core> <!-- // 👉 3️⃣-->
main.ts
platformBrowserDynamic().bootstrapModule(CoreModule) // 👉 4️⃣
.then(ref => {
})
.catch(err => console.error(err));
检查此bootstrapping 📚了解更多详细信息。