我正在尝试创建用于在服务器端部署应用程序的通用版本,但遇到错误。
正在运行:npm run build:ssr
出现以下错误
错误:无法在/home/training/Desktop/vishnu/TemplateAppv6/src/app/core/base.component.ts中确定类BaseComponent的模块!将BaseComponent添加到NgModule进行修复。 无法在/home/training/Desktop/vishnu/TemplateAppv6/src/app/home/home.component.ts中确定类HomeComponent的模块!将HomeComponent添加到NgModule中进行修复。
npm错误!代码ELIFECYCLE npm ERR! errno 1 npm错误! template-appv6@0.0.0 build:client-and-server-bundles:
ng build --prod --build-optimizer
npm ERR!退出状态1 npm ERR! npm ERR!在template-appv6@0.0.0 build:client-and-server-bundles脚本处失败。 npm 呃! npm可能不是问题。有可能 以上是其他日志记录输出。npm错误!有关此运行的完整日志,请参见:npm ERR!
/home/training/.npm/_logs/2018-10-04T10_05_24_580Z-debug.log npm错误! 代码ELIFECYCLE npm ERR! errno 1 npm错误!模板-appv6@0.0.0 build:ssr:npm run build:client-and-server-bundles && npm run webpack:server
npm错误!退出状态1 npm ERR! npm ERR!失败于 template-appv6@0.0.0 build:ssr脚本。 npm ERR!这可能不是 NPM的问题。上面可能还有其他日志记录输出。npm错误!有关此运行的完整日志,请参见:npm ERR!
/home/training/.npm/_logs/2018-10-04T10_05_24_625Z-debug.log
根据建议,我添加了组件(由于模块已经导入,因此似乎不正确),但问题仍然存在。
这是我的 app.mosule.ts
// import { RecaptchaModule } from 'ng-recaptcha';
import { LocalStorageService } from 'ngx-webstorage';
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
import { AuthModule } from './auth/auth.module';
import { ConfigurationModule } from './configuration/configuration.module';
import { CoreModule } from './core/core.module';
import { SharedModule } from './shared/shared.module';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, Inject, PLATFORM_ID, APP_ID } from '@angular/core';
import { OwlModule } from 'ngx-owl-carousel';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpModule } from '@angular/http'
import { HttpClientModule } from '@angular/common/http';
import { HomeModule } from './home/home.module';
import { CollectionModule } from './collection/collection.module';
import { DetailsModule } from './details/details.module';
import { FavouritesModule } from './favourites/favourites.module';
import { ProfileModule } from './profile/profile.module';
import { isPlatformBrowser } from '@angular/common';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule.withServerTransition({ appId: 'template-appv6' }),
AppRoutingModule,
SharedModule,
CoreModule,
ConfigurationModule,
AuthModule,
InfiniteScrollModule,
HttpModule,
HttpClientModule,
HomeModule,
CollectionModule,
DetailsModule,
FavouritesModule,
ProfileModule,
OwlModule,
// RecaptchaModule
],
providers: [LocalStorageService],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(@Inject(PLATFORM_ID) private platformId: Object, @Inject(APP_ID) private appId: string) {
const platform: string = isPlatformBrowser(platformId) ?
'on the server' : 'in the browser';
console.log(`Running ${platform} with appId=${appId}`);
}
}
有很多帖子建议区分大小写并在
中重复输入app.module.ts
但是正如您在上面的代码中看到的,情况并非如此
任何帮助将不胜感激。