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