Как развернуть мое приложение VueCLI на сервере Noje.js (Express)? - PullRequest
0 голосов
/ 14 июня 2019

Я создал свой проектный сайт с помощью VueCLI, поэтому теперь я хочу развернуть свое приложение на моем сервере Node.js. Проблема в : - Когда я запускаю команду build, чтобы получить папку dist и поместить ее на мой сервер nodejs, я не могу использовать свой маршрутизатор vue, потому что, например: http://server.com/page1, он отправляет запрос на сервер, но я только хочу получить доступ на страницу в приложении с Vue роутером.

'Это одностраничный веб-сайт, использующий маршрутизатор vue'

Пример моего сервера node.js:

const express = require('express');
const path = require('path');
const app = express();


app.use('/static', express.static(path.join(__dirname, '/dist')))

app.get('/',(req,res)=>{
res.sendFile(__dirname+'/static/index.html')
})

app.listen('3000',()=>{
console.log("listen on port 3000");    
})

/site.com
/site.com/dist
/site.com/dist/css
/site.com/dist/js
/site.com/dist/index.html
/site.com/index.js //server nodejs

Я хочу получить доступ к внутренним страницам моего веб-сайта vue router. На момент, когда я спрашиваю в URL для страницы, он спрашивает сервер.

Ответы [ 2 ]

0 голосов
/ 15 июня 2019
  • Так что, очевидно, чтобы решить мою проблему, я должен установить и настроить Промежуточный вызов вызова "connect-history-api-fallback" от github 'https://github.com/bripkens/connect-history-api-fallback'. Этот API только для сервера, работающего на Node.js и использующего экспресс (это мой случай).

Надеюсь, это поможет вам =)

0 голосов
/ 14 июня 2019

Это проблема организации проекта. Я бы посоветовал вам создать свой dist вне вашего приложения. и имеют

app.use('/static', express.static(path.join(__dirname, '/static')))

Точка вместо dist вместо статического, т.е.

app.use('/static', express.static(path.join(__dirname, '/path/to/dist')))
...