импорт и использование BrowserModule (косвенно) приводит к ошибке Не удается разрешить все параметры для ApplicationModule - PullRequest
0 голосов
/ 06 апреля 2020

Я нахожусь в проекте, который требует, чтобы я использовал Umbraco для общих функций, таких как управление пользователями и управление текстами для электронной почты (backoffice), и версии Metroni c angular для остальной функциональности. Приложение angular получает все свои данные через веб-API.

Чтобы эти 2 работали вместе, я создал проект ASP. NET MVC5, установил Umbraco и заставил его работать так, чтобы представление (файл cs html) могло загружать сгенерированный CLI angular приложение, без metroni c, и все заработало.

Затем я скопировал проект metroni c в папку с моими решениями и начал разбирать и перемещать его, так как он содержит слишком много служебного и демонстрационного кода. , демонстрационные данные, демонстрационные изображения и т. д. c. Когда я немного поработал так, как хотел, и он отлично работает с ng serve -o, я собрал свой код с помощью ng build и включил вывод моего dist в свой проект MVC.

К сожалению, это не работает. Я получаю эту ошибку:

Я получил ошибку Не могу разрешить все параметры для ApplicationModule: (?)

Поскольку я нашел много решений и попробовал некоторые из них, например установка и импорт core- js, кажется, никто не решает проблему. Поэтому я создал демонстрационный проект metroni c «из коробки и нетронутый» и использовал его вместо этого, и это работало. Так что я решил, что слишком много разобрался с демо-проектом.

Следующим шагом, который я предпринял, было закомментировать как можно больше кода в моем проекте angular, чтобы он не использовал какие-либо метроны. c код или любой мой код. Я получил этот код, который не выдает ошибок при запуске с 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 не найден.

Мои вопросы по этой проблеме: - Является ли модуль браузера причиной этой ошибки? - Или что-то еще, что используется модулем браузера, вызывает эту ошибку? - В чем разница между ng serve и ng build, которая вызывает эту ошибку при запуске встроенной версии кода?

Если вам нужна дополнительная информация, сообщите об этом, и я сделаю все возможное, предоставить это, если это возможно.

1 Ответ

0 голосов
/ 07 апреля 2020

Видимо, мне не хватало скрипта включения. Мне нужно было включить 2 полифилла, один с и без -es5 в имени файла.

...