Hice un pequeño Angularjs basado en una estructura de directorio típica que almacena la fuente en el directorio "src" y se implementa en un directorio "dist". Por lo tanto, no he tenido problemas con la implementación del código en el servidor local como en las páginas de github. Ya construí una instancia de CI/CD de CodeShip, se ejecuta bien en las pruebas y se implementa, pero falla allí.
El código se está implementando en heroku, pero no puedo encontrar la manera de hacerlo funcionar dentro de heroku.
Ya hice un Procfile:
web: node node_modules/gulp/bin/gulp build web: node server.jsY también un servidor básico.js
var express = require('express'); var app = express(); // I found somewhere that process.env.PORT lets the port be set by Heroku, // but its not working var port = process.env.PORT || 8080; app.use(express.static(path.join(__dirname + '/dist'))); //app.use(express.static(process.env.PWD + '/dist')); //already tried this one // home page route app.get('/', function(req, res) { res.render('index'); }); app.listen(port, function() { console.log('App is running fine on port:' + port +' ++'); });Por supuesto, ya agregué express a mi paquete de nodos. En realidad funciona bien en mi localhost (Linux y Windows)
En el registro de Heroku, no hay mucha información, sospecho que no puedo hacer que Express encuentre la ruta correcta, por lo que falla.
2017-03-29T13:58:27.459049+00:00 app[web.1]: at Module.runMain (module.js:605:10) 2017-03-29T13:58:27.554976+00:00 heroku[web.1]: State changed from starting to crashedPara ejecutar su paso de compilación, puede hacerlo con npm scripts como este:
"scripts": { "start": "node server.js", "test": "mocha", "postinstall": "node node_modules/gulp/bin/gulp build" } Entonces su Procfile puede ser tan simple como esto:
web: npm start En cuanto al error, es difícil de decir porque no tengo el error completo para mirar. Asegúrese de que su archivo server.js esté en el lugar correcto y que tenga un archivo package.json que enumere todas sus dependencias.