我正在进行一个项目,该项目需要我使用 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
如果需要更多信息,请告诉它,如果可能的话,我会尽力提供。