【发布时间】:2020-07-29 09:53:12
【问题描述】:
我有 Angular 9 pwa 通用网络应用程序,在 npm run build:ssr 之后可与节点 dist/app/server/server.js 一起使用。我翻译了所有文本,但在构建后我只看到一半被翻译,另一半像:common.next,common.back。
这是我所拥有的:
app.module:
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
imports: [
...
TransferHttpCacheModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
}),
...
]
app.server.module:
import { NgModule } from '@angular/core';
import { ServerModule, ServerTransferStateModule } from '@angular/platform-server';
import { BrowserModule } from '@angular/platform-browser';
import { AppModule } from './app.module';
import { AppComponent } from './app.component';
@NgModule({
imports: [
AppModule,
ServerModule,
ServerTransferStateModule,
BrowserModule.withServerTransition({ appId: 'autorent' }),
],
bootstrap: [AppComponent],
})
export class AppServerModule { }
app.browser.module:
import { NgModule } from '@angular/core';
import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';
import { AppModule } from './app.module';
import { AppComponent } from './app.component';
import { ServiceWorkerModule } from '@angular/service-worker';
import { environment } from '../environments/environment';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
imports: [
AppModule,
BrowserModule.withServerTransition({ appId: 'autorent' }),
BrowserTransferStateModule,
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),
BrowserAnimationsModule
],
bootstrap: [AppComponent],
})
export class AppBrowserModule { }
如果您需要其他信息,我对此表示怀疑,只需写在 cmets 中,我会提供。
如何使 ngx-translate 完全工作 + 不会在页面加载时加载,我认为它应该在服务器上加载,因为当我第一次打开应用程序时,我看到文本如何变化(其中一半)
【问题讨论】:
标签: node.js angular typescript angular-universal ngx-translate