代码示例:
npm install @angular/platform-serverModuleMapLoaderModule来配置server-side rendering的懒加载路由:import { NgModule } from '@angular/core';
import { ServerModule } from '@angular/platform-server';
import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader';
import { AppModule } from './app.module';
import { AppComponent } from './app.component';
@NgModule({
imports: [
AppModule,
ServerModule,
ModuleMapLoaderModule // 让server-side rendering支持懒加载
],
bootstrap: [AppComponent],
})
export class AppServerModule {}
import 'zone.js/dist/zone-node';
import 'reflect-metadata';
import { enableProdMode } from '@angular/core';
import { ngExpressEngine } from '@nguniversal/express-engine';
import * as express from 'express';
import { join } from 'path';
import { AppServerModule } from './src/main.server'; //import server端文件
enableProdMode();
const app = express();
const DIST_FOLDER = join(process.cwd(), 'dist/browser');
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main');
const renderer = ngExpressEngine({
bootstrap: AppServerModuleNgFactory,
providers: [
{ provide: 'LAZY_MODULE_MAP', useValue: LAZY_MODULE_MAP