要使用Angular Universal for Website模块只允许包含代码示例,可以按照以下步骤进行解决:
npm install @nguniversal/express-engine @nguniversal/module-map-ngfactory-loader
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
importimport { ServerModule } from '@angular/platform-server';
import { AppModule } from './app.module';
import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule.withServerTransition({ appId: 'my-app' }),
ServerModule,
AppModule,
ModuleMapLoaderModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppServerModule { }
import 'zone.js/dist/zone-node';
import { ngExpressEngine } from '@nguniversal/express-engine';
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
import * as express from 'express';
import { join } from 'path';
const app = express();
const PORT = process.env.PORT || 4000;
const DIST_FOLDER = join(process.cwd(), 'dist');
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main');
// 设置Angular Universal for Website模块引擎
app.engine('html', ngExpressEngine({
bootstrap: AppServerModuleNgFactory,
providers: [
provideModuleMap(LAZY_MODULE_MAP)
]
}));
// 设置Angular应用程序的静态资源文件夹
app.set('view engine', 'html');
app.set('views', join(DIST_FOLDER, 'browser'));
app.use(express.static(join(DIST_FOLDER, 'browser')));
// 设置路由,当访问根路径时渲染Angular应用程序
app.get('*', (req, res) => {
res.render('index', { req });
});
// 启动Express服务器
app.listen(PORT, () => {
console.log(`Node Express server listening on http://localhost:${PORT}`);
});
通过按照上述步骤进行操作,你应该能够使用Angular Universal for Website模块只允许包含代码示例。请根据你的具体需求进行修改和调整。