首页 > 解决方案 > Angular Universal:不渲染某些页面

问题描述

我开发了一个 Angular Universal 项目。所有页面都使用 express 呈现,如下所示:

server.get('*', (req, res) => {
    res.render(indexHtml, { req, providers: [
            { provide: href, useValue: req.baseUrl },
            { provide: REQUEST, useValue: req },
            { provide: RESPONSE, useValue: res }
        ]});
});

但是,我也有一些个性化的 URL,我不想预渲染,我只想快速响应简单的静态索引文件,浏览器会加载哪个。我正在尝试这样:

server.get('/personal-information', express.static(indexHtml));

但没有结果。请帮忙。

标签: angularangular-universal

解决方案


express.static() 期望第一个参数是目录的路径,而不是文件名。我建议创建另一个子目录来包含您的 index.html 并使用它。参考这个答案

所以如果你有类似的东西:

  server.get('*.*', express.static('public'));

您需要personal-information在公共路径中创建一个名为的文件夹并将 index.html 放在那里。


推荐阅读