Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将nguniversal/express引擎添加到角度项目中:“;在/src/app/app.module.ts中找不到BrowserModule导入;_Node.js_Angular_Typescript_Npm_Angular Universal - Fatal编程技术网

Node.js 将nguniversal/express引擎添加到角度项目中:“;在/src/app/app.module.ts中找不到BrowserModule导入;

Node.js 将nguniversal/express引擎添加到角度项目中:“;在/src/app/app.module.ts中找不到BrowserModule导入;,node.js,angular,typescript,npm,angular-universal,Node.js,Angular,Typescript,Npm,Angular Universal,第一个问题 目标 我正试图用ngadd@nguniversal/express引擎--clientProject[name]将SSR添加到我的Angular项目中(这样我就可以动态地预渲染元标记) 预期结果 我希望该命令能够成功执行,并对现有文件进行所有的搭建和必要的更新,如YouTube中所示 实际结果 相反,控制台会这样说: Installing packages for tooling via npm. Installed packages for tooling via npm. Can

第一个问题

目标 我正试图用
ngadd@nguniversal/express引擎--clientProject[name]
将SSR添加到我的Angular项目中(这样我就可以动态地预渲染元标记)

预期结果 我希望该命令能够成功执行,并对现有文件进行所有的搭建和必要的更新,如YouTube中所示

实际结果 相反,控制台会这样说:

Installing packages for tooling via npm.
Installed packages for tooling via npm.
Cannot find BrowserModule import in /src/app/app.module.ts
但是BrowserModule是在app.module.ts中导入的

我试过的
  • 重新安装软件包
  • 我已尝试使用
    npm uninstall@nguniversal/express engine卸载软件包
    ,并重新运行上面的
    ng add
    ,同样的问题

    关于ng添加@nguniversal/express server的其他问题在这里似乎不适用,因为这些人实际上已经创建了一些脚手架并生成了新文件——根本没有为我创建任何文件,但模块确实被添加到了我的节点模块文件夹中

    仅仅读取app.module.ts中的typescript是否会有问题?BrowserModule导入在那里,并且在导入数组中。这是
    npm ls typescript
    的输出:

    +-- @angular-devkit/build-angular@0.901.8
    | `-- @angular-devkit/build-optimizer@0.901.8
    |   `-- typescript@3.6.5
    +-- @ng-toolkit/universal@1.1.21
    | +-- @ng-toolkit/_utils@1.1.51
    | | `-- @schematics/angular@7.3.10
    | |   `-- typescript@3.2.4
    | `-- @schematics/angular@0.6.8
    |   `-- typescript@2.7.2
    `-- typescript@3.8.3
    
    其他信息(适用于David)
  • app.module.ts
  • 梅因酒店

  • 此错误是由app.module中的多个NgModule引起的,因为第一个NgModule导入不包含BrowserModule


    如果您删除第一个NgModule,应用程序仍然可以正常工作,因为导入中的模块已经在第二个NgModule中导入了

    您可以显示您的
    app.module.ts
    main.ts
    文件吗?@David-为表示兴趣干杯,我已经用这些文件更新了问题。您是传奇人物,谢谢!就这样。我自己从来没有发现过这一点,但现在这似乎是显而易见的。英雄很高兴这有帮助!:)
        import { BrowserModule, Meta, Title } from '@angular/platform-browser';
        import { NgModule } from '@angular/core';
        
        import { AppRoutingModule } from './app-routing.module';
        import { AppComponent } from './app.component';
        import { HeaderComponent } from './header/header.component';
        import { FooterComponent } from './footer/footer.component';
        import { HomeComponent } from './home/home.component';
        import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
        import { SoftwareComponent } from './software/software.component';
        import { MediaComponent } from './media/media.component';
        import { ShopComponent } from './shop/shop.component';
        import { FilmDetailsComponent } from './film-details/film-details.component';
        import { ShareModalComponent } from './share-modal/share-modal.component';
        import { ShareModule } from 'ngx-sharebuttons';
        import { ShareButtonModule } from 'ngx-sharebuttons/button';
        import { ShareIconsModule } from 'ngx-sharebuttons/icons';
        
        
        @NgModule({
          imports: [
            ShareButtonModule,
            ShareIconsModule // Optional if you want the default share icons
          ]
        })
        @NgModule({
          declarations: [
            AppComponent,
            HeaderComponent,
            FooterComponent,
            HomeComponent,
            SoftwareComponent,
            MediaComponent,
            ShopComponent,
            FilmDetailsComponent,
            ShareModalComponent
          ],
          imports: [
            BrowserModule,
            AppRoutingModule,
            FontAwesomeModule,
            ShareModule,
            ShareButtonModule,
            ShareIconsModule
          ],
          providers: [Meta, Title],
          bootstrap: [AppComponent]
        })
        export class AppModule { }
    
        import { enableProdMode } from '@angular/core';
        import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
        
        import { AppModule } from './app/app.module';
        import { environment } from './environments/environment';
        
        if (environment.production) {
          enableProdMode();
        }
        
        platformBrowserDynamic().bootstrapModule(AppModule)
          .catch(err => console.error(err));