如何在Node.js中处理Angular 404请求

时间:2019-03-18 14:02:41

标签: node.js angular angular6 angular5

我正在使用nodejs进行角度6和服务器端渲染。我有一个问题,如何使用nodejs而不是angular

处理404路由

我想要的是404标头+没有JavaScript等,我只是想要没有在H1标签下写的带有404页的纯html代码,别无其他,例如angular JavaScripts等,但我无法做到这一点,请帮助我

下面是我的角形铣削

const appRoutes: Routes = [ 
   { path: 'somepage', component: SomePageComponent },
   { path: '**', component: ErrorComponent}
];

我的Nodejs SSR实现

module.exports = function (app, js) {
    require('zone.js/dist/zone-node');
    require('reflect-metadata');
    const express = require('express');
    const { enableProdMode } = require('@angular/core');
    const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require(js.root.dist + 'server/main.bundle');
    const { ngExpressEngine } = require('@nguniversal/express-engine');
    const { provideModuleMap } = require('@nguniversal/module-map-ngfactory-loader');
enableProdMode();
    app.engine('html', ngExpressEngine({
        bootstrap: AppServerModuleNgFactory,
        providers: [
            provideModuleMap(LAZY_MODULE_MAP)
        ]
    }));

    app.set('view engine', 'html');
    app.set('views', js.root.dist+'browser');
    app.get('*.*', express.static(js.root.dist+'browser',{
  maxage: '2h'
}));
    app.get('*', (req, res) => {
        res.render('index', { req }, (err, html) => {
            res.send(html);
        });
    });
}

0 个答案:

没有答案