NodeJS使用node-static和restify在一起

我正在为应用程序创build一个简单的testing平台,并在我的应用程序的根目录中将以下代码设置为我的server.js文件:

 var restify = require('restify'), nstatic = require('node-static'), fs = require('fs'), data = __dirname + '/data.json', server = restify.createServer(); // Serve static files var file = new nstatic.Server(''); server.get(/^\/.*/, function(req, res, next) { file.serve(req, res, next); }); // Process GET server.get('/api/:id', function(req, res) { // NEVER FIRES }); 

它完美地提供静态文件,但是,当我尝试调用/api它只是挂起并超时。 想象一下,我在这里失去了一些愚蠢的东西,任何帮助将不胜感激。

您可以确保api通过在第一个get之前移动第二个get电话。 原因是你的api呼叫路由已经被第一个模式匹配了。

节点静态正在调用下一个错误,这意味着它永远不会屈服于其他处理程序。

您可以将其他处理程序移动到node-static之上,或者通过拦截callback来忽略它的错误。

我在这里做了一个工作版本: http : //runnable.com/UWXHRONG7r1zAADe