API路由在ExpressJS部署的应用程序(dreamhost)中不起作用

时间:2018-12-30 22:35:14

标签: node.js express deployment routing dreamhost

我有一个使用express js的简单node js应用程序。一切都可以在localhost上正常运行,但是当我将其部署到Dreamhost时,API路由(example.com/api/request)停止工作并响应404错误。静态路由在已部署的版本上正常工作。

我也将其部署到了Herokuapp,并且在那里一切正常。 Heroku可能做了一些我没有为Dreamhost版本做的事情,但是我不知道那是什么。

这是我的server.js代码:

    var express = require("express");
    var bodyParser = require("body-parser");
    var path = require("path");

    var app = express();
    var PORT = process.env.PORT ||3306;
    var db = require("./models");


    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());

    app.use('/', express.static(path.join(__dirname, 'public')))
    require("./routes/api-routes.js")(app);
    require("./routes/html-routes.js")(app);

    db.sequelize.sync().then(function() {
    app.listen(PORT, function() {
        console.log("App listening on PORT " + PORT);
      });
    });

和我的api-routes.js:

    var db = require("../models");

    module.exports = function(app) {
    app.get("/api/all", function(req, res) {
        res.send("test")
    });

    app.get("/api/:zip", function(req, res){
        var zipcode = req.params.zip;
        db.All.findAll({
        where:{
            zcta: zipcode
        }
        }).then(function(dbZip){
        res.json(dbZip)
        })
    })

    app.get("/api/county/:county", function(req, res){
        var county = req.params.county;
        db.All.findOne({
        where:{
            county: county
        }
        }).then(function(dbZip){
        res.json(dbZip)
        })
    })
    };

0 个答案:

没有答案