繁体   English   中英

使用节点静态和一起旅行

[英]Using node-static and journey together

我是第一次使用Node.js。 我正在使用node-static提供静态文件,并使用trip进行路由。 不幸的是,两者似乎相互冲突,我不确定停止冲突的最佳方法。 我的服务器如下所示:

var http = require('http');
var nodeStatic = require('node-static');
var journey = require('journey');

var fileServer = new nodeStatic.Server('./public');
var router = new journey.Router;


module.exports = http.createServer(function (req, res) {
  router.get('/api').bind(function (req, res) {
    res.send(200);
  });
var fileServer = new nodeStatic.Server('./public');
var router = new journey.Router;


module.exports = http.createServer(function (req, res) {
  router.get('/api').bind(function (req, res) {
    res.send(200);
  });

  req.addListener('end', function () {
    fileServer.serve(req, res);

    router.handle(req, '', function (result) {
      res.writeHead(result.status, result.headers);
      res.end(result.body);
    });
  });
});

问题在于,旅程路由器发送了404响应。 我设法使其起作用的唯一方法是在end侦听器中执行此操作:

  req.addListener('end', function () {
    router.handle(req, '', function (result) {
      if (result.status === 404) {
        fileServer.serve(req, res);
      }
      else {
        res.writeHead(result.status, result.headers);
        res.end(result.body);
      }
    });
  });

但这似乎不是我应该处理的方式。 我究竟做错了什么?

我发现了一个要点,显示了如何在旅途中使用node-static 我基本上是正确的。 我很高兴听到任何其他解决方案!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM