0

我正在进行一个项目,该项目需要我使用 Umbraco 来实现常见功能,例如用户管理和管理电子邮件(后台)的文本,以及用于其余功能的 metronic angular 版本。Angular 应用程序通过 Web API 获取所有数据。

为了让这两个一起工作,我创建了一个 ASP.NET MVC5 项目,安装了 Umbraco 并使其工作,一个视图(cshtml 文件)可以加载一个 CLI 生成的 Angular 应用程序,还没有 metronic 并让它工作。

接下来,我将 metronic 项目复制到我的解决方案文件夹中,并开始剥离和移动它,因为它带来了太多的开销和演示代码、演示数据、演示图像等。当我得到它时,它会以我想要的方式工作它运行良好,我用ng serve -o我的代码构建了我的代码,ng build并将我的 dist 的输出包含在我的 MVC 项目中。

不幸的是,这不起作用。我收到此错误:

我收到错误无法解析 ApplicationModule 的所有参数:(?)

当我找到许多解决方案并尝试了其中一些,例如安装和导入 core-js 时,似乎没有一个可以解决问题。因此,我构建了“开箱即用”的 metronic 演示项目,并改用了它,并且效果很好。所以我想我把演示项目剥离得太多了。

我采取的下一步是在我的 Angular 项目中注释尽可能多的代码,这样它就不会使用任何 metronic 代码或我的任何代码。我最终得到了这段代码,当我运行它时它没有给出任何错误,但在视图中ng serve -o打开输出时确实给出了错误。ng build

app.module.ts

import { BrowserModule } from '@angular/platform-browser'; //, HAMMER_GESTURE_CONFIG
import { NgModule } from '@angular/core'; //APP_INITIALIZER,
import { AppComponent } from './app.component';

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

app.component.ts

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

@Component({
    selector: 'app-root',  //'body[kt-root]',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.scss'],
})
export class AppComponent {} 

然而这段代码仍然会产生错误:

我收到错误无法解析 ApplicationModule 的所有参数:(?)

当我评论 BrowserModule 的导入并将其从导入中删除时,我得到一个不同的错误:

在这个配置中,Angular 需要 Zone.js

但是这个错误有点意思,可能是由于或者在构建代码的过程中,没有找到Zone.js。

我对这个问题的问题是: - browsermodule 是否导致此错误?- 或者是浏览器模块使用的其他东西导致了这个错误?-当我运行代码的构建版本时,导致此错误的ng serve和有什么区别?ng build

如果需要更多信息,请告诉它,如果可能的话,我会尽力提供。

4

1 回答 1

0

显然,我缺少一个脚本包含。我需要在文件名中包含 2 个 polyfill,一个有一个没有 -es5。

于 2020-04-07T08:19:25.413 回答