node.js - node - heroku procfile extension
Cómo implementar un proyecto vuejs en heroku (3)
También necesita definir un pequeño servidor estático para servir su archivo index.html
. Una configuración de ejemplo simple sería con http-server
:
npm install -S http-server
Y su Procfile
convierte en:
web: http-server ./ -p $PORT
Estoy trabajando en este proyecto localmente https://github.com/misterGF/CoPilot pero ahora que está terminado, me gustaría llevarlo a heroku. el problema es decirle a heroku que inicie la aplicación.
En el ejemplo de heroku, el servidor de demostración se ejecuta después de recoger la información de Procfile
y contiene esta información
web: node index.js
Pero en mi proyecto vuejs, no hay index.js que servidores del contenido.
Solo tengo el punto de entrada principal que es index.html
y el archivo de procuración no funciona con HTML.
Usando http-server
. pero el paquete no está instalado globalmente, por lo que tendrá que usar la ruta completa a él de la siguiente manera:
web: ./node_modules/http-server/bin/http-server ./ -p $PORT
Debe actualizar su archivo package.json para que heroku sepa sobre los paquetes, por ejemplo, si está utilizando Express para publicar sus archivos:
"scripts": {
"postinstall": "npm install express"
}
// "start": "node server.js" (executing server.js) during start
server.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)
No te olvides de construir .
Mire aquí para leer más sobre build conf: Personalizar el proceso de compilación - Heroku
También puede instalar el servidor http globalmente así si esa es una opción:
npm install -g http-server
y actualice el archivo de proceso para agregar la configuración como se menciona en las respuestas anteriores.
Solo para saber:
- npm install instalará tanto "dependencias" como "devDependencies"
- npm install - producción solo instalará "dependencias"
- npm install - dev solo instalará "devDependencies"