要在同一个index.html文件中构建两个不同的包,可以使用Angular的多个应用程序功能。下面是一个解决方法的示例:
在angular.json文件中,定义两个应用程序:
"projects": {
"app1": {
"root": "src/app1",
"sourceRoot": "src/app1",
"projectType": "application",
...
},
"app2": {
"root": "src/app2",
"sourceRoot": "src/app2",
"projectType": "application",
...
}
}
在src/app目录下,创建app1和app2两个文件夹,分别用于存放app1和app2的代码。
在每个应用程序的文件夹中,创建一个main.ts文件,用于引导应用程序:
// app1/main.ts
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
// app2/main.ts
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
在每个应用程序的文件夹中,创建一个app.module.ts文件,用于定义应用程序的模块:
// app1/app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
// app2/app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
在index.html文件中,添加两个script标签,分别引用app1和app2的main.ts文件:
这样就可以在同一个index.html文件中构建两个不同的包了。分别使用app1和app2的代码来构建两个不同的Angular应用程序。