API-маршруты не работают в развернутом приложении expressjs (dreamhost) - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть простое приложение js для узла, которое использует экспресс 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-rout.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)
        })
    })
    };
...