【问题标题】:express.js serving both static content and RESTful services?express.js 同时提供静态内容和 RESTful 服务?
【发布时间】:2015-01-14 06:23:51
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: angularjs node.js rest express


    【解决方案1】:

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

    【讨论】:

    • 所以我可能会考虑做这样的事情,对吧? app.use(express.static(__dirname + '/static'));app.get('/data',function(req,res){ ...} (抱歉,在 cmets 中似乎无法很好地编辑)
    • 是的,类似的。
    • 谢谢,我昨天能够验证这个!
    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 2013-12-03
    • 2014-12-06
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多