У меня есть простое приложение 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)
})
})
};