【问题标题】:Angular cli after update npm start give error更新 npm start 后的 Angular cli 给出错误
【发布时间】:2016-12-06 10:20:01
【问题描述】:

我使用 angular cli 创建应用程序并使用后端代理来处理后端并使用聚合物(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
  }
}

ma​​in-polymer.ts

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

ma​​in.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);

我该如何纠正这个问题?

【问题讨论】:

  • 看起来类似这个问题:github.com/angular/angular-cli/issues/2887你试过eventListener提供的解决方案吗?
  • 我想使用 addEventListener 来映射后端。我怎么会用那个解决方案?。
  • 问题在 1.0.0-beta.24 中仍然存在。
  • 在第二次回复中尝试解决方法

标签: angular angular-cli


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    使用 github,我找到了一个适合我的解决方法,我删除了 main-polymer.ts 文件并编辑了主 ts 文件,如下所示。

    ma​​in.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

    【讨论】:

      【解决方案3】:

      我注意到,当您的导入语句无效时,有时会发生这种情况!如果由于某种原因您删除了一个组件并将导入留在那里,那么它会给您:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2018-08-07
          • 2019-01-14
          • 2018-02-24
          • 1970-01-01
          • 1970-01-01
          • 2017-12-08
          • 1970-01-01
          • 1970-01-01
          • 2023-03-29
          相关资源
          最近更新 更多