Angular cli после обновления npm start дать ошибку

Я создаю приложение с помощью angular cli и использую backend-прокси для обработки бэкэнд и использования полимера (vaadin), он работает правильно, пока я не обновляюсь до angular cli 1.0.0-beta.22, он дает Error

Tried to find bootstrap code, but could not. Specify either statically analyzable bootstrap code or pass in an entryModule to the plugins options.

proxy.conf.json

{
  "/api": {
    "target": "http://127.0.0.1:3000",
    "secure": false
  }
}

<сильные > Основные-polymer.ts

document.addEventListener('WebComponentsReady', () => {
  require('./main.ts');
});

main.ts

import './polyfills.ts';

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
import { AppModule } from './app/';

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

// platformBrowserDynamic().bootstrapModule(AppModule);
platformBrowserDynamic().bootstrapModule(AppModule);

как я могу это исправить?

Ответы

Ответ 1

Это вызвано последним обновлением Angular CLI. В последнем обновлении webpack ищет модуль boostrap в верхнем уровне main.ts. В main-polymer.ts, main.ts обертывается addEventListener, поэтому webpack не может найти модуль начальной загрузки, из-за которого он сообщает об ошибке.

Дальнейшая ссылка github.com/angular/angular-cli/issues/2887

Ответ 2

Используя github, я нашел обходное решение, которое работает для меня. Я удаляю файл main-polymer.ts и редактирую основной файл ts, как показано ниже.

main.ts

import './polyfills.ts';

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
import { AppModule } from './app/';

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

var webComponentsFlag = false;
document.addEventListener('WebComponentsReady',() =>{
  if (!webComponentsFlag)
    platformBrowserDynamic().bootstrapModule(AppModule);
  webComponentsFlag = true;
});
if (webComponentsFlag)
 platformBrowserDynamic().bootstrapModule(AppModule);

и это сработало для меня. но не может построить с помощью ng build для устранения этой проблемы, обратитесь к

проблема github

Ответ 3

Я заметил, что это иногда происходит, когда у вас есть недопустимый оператор импорта! если по какой-то причине вы удалили компонент, и вы оставили там импорт, то он даст вам:

"Пробовал найти код начальной загрузки, но не смог. Укажите либо статически анализируемый код начальной загрузки, либо передайте в модуле entryModule параметры плагинов".

Ответ 4

У меня была та же проблема, что я сделал, вернемся к 1.0.0-beta.21, и она снова работает:)