Сервер jQuery GET to Node возвращает 404 в любом рабочем режиме, но не в локальном - PullRequest
0 голосов
/ 03 июля 2019

Я перепробовал все возможные пути и три разные хостинговые платформы, и я не могу понять это. Если кто-то из вас хотел увидеть репо, здесь это .

Вот мой server.js ниже. Я делаю запрос от моего интерфейса $.get('/api/quotes') к моему API в /api/quotes. Это хорошо работает на локальном компьютере, но в производственном процессе он даже не регистрируется и возвращает 404.

Я в замешательстве, я включил cors, я использую https с сертификатами и ключом. Продукция mongodb uri действительна. Почему этот маршрут регистрируется локально, а не на производстве?

const express = require('express')
const fs = require('fs');
const https = require('https');
const path = require('path');
const bodyparser = require('body-parser');
const { json, urlencoded } = bodyparser;
const config = require('./server/config')
const cors = require('cors')
const connect = require('./server/utils/db')
const quoteRouter = require('./server/resources/quote/quote.router');
const app = express()

// const { signup, signin, protect } =require('./utils/auth')

app.disable('x-powered-by')
app.use(cors());
app.use(json());
app.use(urlencoded({ extended: true }))

app.use(express.static((path.join(__dirname))))
app.use('/api/quotes', quoteRouter);
app.use(function (req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
  res.setHeader('Access-Control-Allow-Credentials', true);
  // intercept OPTIONS method
  if ('OPTIONS' == req.method) {
    res.sendStatus(200);
  } else {
    next();
  }
});

// Serve static home file
app.get('/',(req,res) => {
  res.status(200);
  res.sendFile(path.join(__dirname, './index.html'));
});

const start = async () => {
  try {
    await connect()
    .then( () => {
      console.log('Connection to the Atlas Cluster is successful!')
    })
    .catch( (err) => console.error('mongodb error',err));

    https.createServer({
        key: fs.readFileSync('server.key'),
        cert: fs.readFileSync('server.cert')
      },app).listen(config.port, () => {
      console.log(`Listening on port ${config.port}`)
    })
  } catch (e) {
    console.error(e)
  }
}

start()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...