Служить как статические и apis в экспресс в производстве - PullRequest
0 голосов
/ 06 июля 2018

Я развернул приложение экспресс / vue в производство. Мне немного сложно обслуживать как статические файлы, так и API из Express.

Внутри экспресс-папки / app.js

const app = express()
const path = require('path')
const serveStatic = require('serve-static')

...

// index.html and static/css, static/js - bundle made with npm run build
const DIR_DIST = path.join(__dirname, '../../path/to/dist')
app.use(serveStatic(DIR_DIST))

...

app.get('/tests', (req, res) => {
  res.send({msg: 'Hello there!'})
})
  • Когда я захожу на myapp.com, я вижу нужный index.html.
  • Если я печатаю прямо в браузере myapp.com/tests, я вижу необработанное сообщение «Привет!» Из экспресса.
  • Если я вызываю тот же маршрут по ссылке внутри index.html, я получаю эту ошибку в chrome

(не удалось) net :: ERR_CONNECTION_REFUSED

Он работает на моем локальном компьютере, поэтому я уверен, что это какая-то грязная конфигурация, которую я не настроил правильно.

Кроме того, я не хочу иметь доступ к /tests напрямую: vue-router должен переопределить это, но это меньшая проблема.

Вероятно, об этом спрашивали раньше, но прошло много времени, и я пока не нашел решения. Спасибо.

1 Ответ

0 голосов
/ 06 июля 2018

Ошибка ERR_CONNECTION_REFUSED - это фундаментальная сетевая ошибка, которая возникает до того, как ваш серверный код действительно запускается, так что, скорее всего, это никак не связано с вашим конкретным серверным кодом.

Вероятно, это происходит из-за того, что у вас неверный URL на вашей веб-странице.

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