Как развернуть проект 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