express.js 同时提供静态内容和 RESTful 服务?

express.js serving both static content and RESTful services?

我目前正在使用 serve-static 来提供一个非常静态的 Angular 单页应用程序 (SPA),但现在需要扩展到我的 SPA 以便也能够 load/change来自服务器的动态数据。

根据我的研究,我认为最好的方法可能是用 express.js 替换现有的 "serve-static" 模块,这应该允许我用 RESTful 服务扩充后端(然后将根据需要提供对数据的访问。

由于我在这方面没有太多经验,而且架构问题不容易用 google 搜索,所以我有以下问题: - express.js 可以同时提供静态服务和 RESTful 服务吗?如果是这样,这是一种行之有效的方法还是有更好的方法? - 或者我应该 运行 为我的 REST api 提供一个单独的服务 (lighttpd)?它们可以共存吗?

这将是 运行 在嵌入式 Linux 环境中,因此流量很小,我认为最多同时有 2-3 个用户,更常见的是一次一个用户。

是的,两者都可以。只需将静态中间件放在中间件堆栈的顶部附近,然后将所有路由放在其下方即可。这样,如果在请求的路径中找不到静态文件,执行将继续到您定义的路由。