Express JS多路径文件不起作用

时间:2018-03-09 06:42:26

标签: angularjs node.js express routing express-router

我使用AngularJS和NodeJS作为后端。我有2个路由文件 - route1.api.js route2.api.js 。它们在 server.js 中使用,如下所示:

const route1Api= require("./src/api/route1.api");
const route2Api= require("./src/api/route2.api");

app.use("/api/route1/", route1Api);
app.use("/api/route2/", route2Api);

route1.api.js route2.api.js 的代码类似如下:< / p>

const router = express.Router();
router.post("/whatever", (req, res) => {
// Code
});
module.exports = router;

我从2个不同的Angular数据服务文件访问这些路由:

route1.data.service.js

postRoute1() {
    console.log("Route1");
    return this._http
      .post("/api/route1/whatever", postData)
      .map(result => console.log(result));
}

route2.data.service.js

postRoute2() {
    console.log("Route2");
    return this._http
      .post("/api/route2/whatever", postData)
      .map(result => console.log(result));
}

现在,问题是 route1 工作正常,但 route2 不是。 postRoute2() 方法仅适用于 console.log() 行,但不能超出此范围。可能是什么问题?

route2.api.js 代码:

router.post("/whatever", (req, res) => {
  console.log("API hit");
  User.find({}, function(err, user) {
    if (err) res.status(500);
    if (!user) res.status(204);
    res.status(200).json(user);
  });
});

1 个答案:

答案 0 :(得分:0)

将postRoute2()方法修改为:

postRoute2() {
    console.log("Route2");
    return this._http
      .post("/api/route2/whatever", postData)
      .subscribe(result => console.log(result));
}