Как развернуть проект vuejs в heroku

Я работаю над этим проектом локально https://github.com/misterGF/CoPilot но теперь, когда он закончен, я хотел бы подтолкнуть его к heroku. проблема в том, чтобы сказать heroku, чтобы запустить приложение.

в Примере heroku демо-сервер запускается после получения информации из Procfile С этим

web: node index.js

но в моем проекте vuejs нет индекса.js, который обслуживает контент.

у меня есть только основная точка входа, которая index.html и procfile не работает с HTML.

3 ответов


вам нужно обновить пакет.файл json, чтобы heroku знал о пакетах, например, если вы используете экспресс для обслуживания ваших файлов:

"scripts": {
   "postinstall": "npm install express"
 }
 // "start": "node server.js" (executing server.js) during start

сервер.js

var express = require('express')
var path = require('path')
var serveStatic = require('serve-static')

var app = express()
app.use(serveStatic(path.join(__dirname, 'dist')))

var port = process.env.PORT || 8000
app.listen(port)
console.log('server started ' + port)

не забудьте построить.

посмотрите здесь, чтобы узнать больше о build conf:настройка процесса сборки-Heroku


Вы также можете установить http-сервер глобально, как это, если это вариант:

npm install -g http-server

и обновите файл Procfile, чтобы добавить конфигурацию, как указано в ответах выше.

просто, чтобы знать:

  • установка npm установит как "зависимости", так и "devDependencies"
  • установка npm --производства будет устанавливать только "зависимостей"
  • установка npm --dev будет устанавливать только "devDependencies"

Вам также нужно определить небольшой статический сервер для обслуживания вашего . Простой пример установки будет с http-server:

npm install -S http-server

и свой Procfile будет:

web: http-server ./ -p $PORT

используя http-server. но пакет не установлен глобально, поэтому вам придется использовать полный путь к нему следующим образом:

web: ./node_modules/http-server/bin/http-server ./ -p $PORT