Я развернул приложение экспресс / 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 должен переопределить это, но это меньшая проблема.
Вероятно, об этом спрашивали раньше, но прошло много времени, и я пока не нашел решения.
Спасибо.