Angular cli 更新后执行 npm start 报错

15

我使用Angular CLI创建应用程序,并使用后端代理来处理后端,使用Polymer(Vaadin)直到我更新到Angular 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
  }
}

主要聚合物.ts

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

主要.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);

我该如何纠正这个问题?


类似于这个问题:https://github.com/angular/angular-cli/issues/2887 您尝试过使用eventListener提供的解决方案吗? - LoïcR
我想使用addEventListener来映射后端。我该如何使用这个解决方案? - Rumes Shyaman
问题在1.0.0-beta.24版本中仍然存在。 - Arjan
请尝试使用解决方法,第二个回复中提供。 - Rumes Shyaman
4个回答

9
这是由于最新版本的Angular CLI所致。在最新版本中,webpack在main.ts的顶层搜索boostrap模块。而在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问题


1
我注意到有时候出现这种情况是因为你有一个无效的导入语句!如果由于某些原因你删除了一个组件但却保留了导入,那么它会给你以下提示:“试图找到引导代码,但失败了。请指定静态分析的引导代码或将entryModule传递给插件选项。”

0

我曾经遇到过同样的问题,我的解决方法是回退到1.0.0-beta.21版本,然后问题就解决了 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接