首页 > 解决方案 > 角度应用程序上的多个根模块

问题描述

我正在用 Angular 开发一个网站。这个应用程序分为两部分:客户端部分和管理员部分。后者可通过登录屏幕访问。该机制的核心是通过这两个文件完成的:

main.ts:

import {enableProdMode} from '@angular/core';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';

import {AppModule} from './app/app.module';
import {environment} from './environments/environment';
import {AdministrationModule} from "./administration/administration.module";

if (environment.production) {
    enableProdMode();
}

if (window.location.href.indexOf("admin") != -1) {
    platformBrowserDynamic().bootstrapModule(AdministrationModule);
}

else {
    platformBrowserDynamic().bootstrapModule(AppModule);
}

索引.html:

<!doctype html>
<html lang="it">
<head>
    <meta charset="utf-8">
    <title>MyWebsite</title>
    <base href="/">

    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="icon.ico">
</head>
<body>
<app-root></app-root>
<app-administration></app-administration>
</body>
</html>

基本上,如果我通常指向网站http://mywebsite.com,我将上传客户端部分,而使用http://mywebsite.com/admin我会加载登录屏幕的管理部分。

我的问题是,如果我使用这些命令编译应用程序,一切都会正常工作:
ng build或者ng serve
当我为生产编译它时它不起作用:

ng build --prod

我现在有两个问题:这是一个角虫吗?ng build简单地使用命令而不是命令进入生产是否可靠ng build --prod?我已经测试过ng build(在生产中)并且一切正常。

啊,一件事:在编译过程中出现以下警告:

未启用延迟路由发现中的警告。因为主文件中既没有 entryModule 也没有静态可分析的引导代码。

标签: angularproduction

解决方案


您可以在 Angular 项目中有多个应用程序,这就是我解决类似情况的方法。

https://angular.io/cli/generate#application-command

指南帮助我入门。

这是另一个指南,其中包含一些出色的示例。


推荐阅读