Mi web funciona perfectamente en mi máquina local y todo eso, pero en Heroku implementé mi aplicación y nada funciona, y cuando: $ heroku logs --tail
State changed from crashed to starting Starting process with command `node app.js` internal/modules/cjs/loader.js:883 throw err; ^ Error: Cannot find module 'express' Require stack: - /app/app.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15) at Function.Module._load (internal/modules/cjs/loader.js:725:27) at Module.require (internal/modules/cjs/loader.js:952:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (/app/app.js:1:17) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) { code: 'MODULE_NOT_FOUND', requireStack: [ '/app/app.js' ] }estructura de directorios:
-app -css -files -js -logo -views -index.html -app.js -composer.json -package-lock.json -package.json -ProcfilePerfil:
web: node app.jspaquete.json:
{ "name": "app", "version": "1.0.0", "engines": { "node": "14.15.3" }, "private": "true", "main": "app.js", "scripts": { "start": "node app.js", "dev": "nodemon app.js" }, "keywords": [], "author": "me", "repository": "appRep", "license": "ISC", "devDependencies": { "chokidar": "^3.5.2", "express": "^4.17.2", "fs": "0.0.1-security", "nodemailer": "^6.7.2", "nodemon": "^2.0.15", "path": "^0.12.7" } }.env: (incluso antes del archivo .env todo era igual)
PORT = 8081tienen alguna idea? ¡¡Gracias de antemano!!
Su paquete express aparece en devDependencies en package.json , intente moverlo a dependencies como esta
"dependencies": { "express": "^4.17.2" } devDependencies debe enumerar solo los paquetes que no son esenciales para la aplicación implementada en producción (Heroku). Puede ser necesario mover más paquetes a dependencies no solo express .
Asegúrese de que Express esté instalado en Heroku. Debe agregar express al objeto de dependencies en el archivo package.json