【发布时间】:2014-10-13 21:36:00
【问题描述】:
我有一个基于 node 和 restify 插件用 javascript 编写的 REST 应用程序。
我设置了一些 REST 函数:
var server = restify.createServer();
server.use(restify.bodyParser());
server.get('/person/:id', getPerson);
server.get('/group/:id', getGroup);
我还想提供一些静态文件,我希望它们可以从 http://server/admin/ 访问
我有以下源代码可以做到这一点:
server.get(/\/admin\/?.*/, restify.serveStatic({directory: '/var/www/node/app/html/', default: 'index.html'}));
/var/www/node/app/html/ 包含一个名为“admin”的文件夹,该文件夹包含一个名为 index.html 的文件 下面是文件夹结构:
html
└── admin
├── img
│ ├── icon1.png
│ ├── icon2.png
│ ├── icon3.png
└── index.html
如果我尝试访问http://server/admin/,我会收到以下错误:
{"code":"ResourceNotFound","message":"/admin/"}
以下路径可以正常工作http://server/admin/index.html。我也可以访问http://server/admin/img/icon1.png等。
所以总结一下,serveStatic的默认设置似乎有问题。
我使用的是 restify 2.6.0,我知道有更新的版本可用,但由于其他一些东西在更高的 Restify 版本上发生了变化,我目前无法升级。
【问题讨论】:
标签: javascript node.js rest restify