【发布时间】:2013-02-22 05:32:29
【问题描述】:
我正在尝试构建一个 webapp,其中:
http://mydomain.com/static/x.png 使用 Connect 的静态中间件将 x.png 作为静态文件提供服务 http://mydomain.com/other_stuff 做其他事情
我的目录结构是
start_server.coffee
static/
x.png
在 start_server.coffee 我有:
app = connect()
app.use connect.staticCache()
app.use connect.static(__dirname + '/static')
app.use ...middleware that serves the dynamic parts of my app...
app.listen 80
当我尝试http://mydomain.com/static/x.png 时,请求会绕过静态服务器并被路由到我的应用程序的其余部分。我在调试器中单步执行了代码,看起来 static 正在尝试查找 static/static/x.png 而不是 static/x.png。
我能够通过将 connect.static(_dirname + '/static') 更改为 connect.static(_dirname) 来使其工作,但现在它将提供不在静态中的内容不好的目录!
做我想做的事情的最干净的方法是什么?我可能会使用 Express 的路由功能,但除非必须,否则我不会特别想使用 Express,因为我的应用程序的其余部分会以自己的方式处理路由。
谢谢!
【问题讨论】: