更新npm start后的Angular cli给出错误

时间:2016-12-06 10:20:02

标签: angular angular-cli

我使用angular cli创建应用程序并使用后端代理来处理后端并使用聚合物(vaadin)它正常工作,直到我更新到角度cli 1.0.0-beta.22它给出错误

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);

我该如何纠正?

4 个答案:

答案 0 :(得分:9)

这是由Angular CLI最新更新引起的。在最新的更新中,webpack在main.ts顶级搜索boostrap模块。在main-polymer.ts中,main.tsaddEventListener包裹,因此webpack无法找到引导模块,这就是报告错误的原因。

进一步参考github.com/angular/angular-cli/issues/2887

答案 1 :(得分: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 issue

答案 2 :(得分:1)

我注意到有时会出现无效的导入语句!如果由于某种原因你删除了一个组件而你在那里留下了导入,那么它会给你:

“试图找到引导代码,但不能。指定静态可分析引导代码或将entryModule传递给插件选项。”

答案 3 :(得分:0)

我遇到了同样的问题,我所做的是回到1.0.0-beta.21并再次运行:)