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, и она снова работает:)