Construimos una aplicación web usando node, express y ejs. Queremos implementar en CPanel. Copiamos las carpetas y las páginas no se muestran. ¿Necesitamos cambiar las rutas para reflejar las nuevas estructuras de carpetas y/o instalar el nodo y todas las dependencias en el servidor CPanel? Moví las cosas y jugué un poco con las rutas sin mucho éxito. En mi localhost puedo verlo perfectamente, pero una vez arriba no funciona.
Hasta ahora mi index.ejs es este:
<head> <meta charset="UTF-8"> <title>Test de Zülliger</title> <link rel="stylesheet" href="styles/style.css"> <link rel="shortcut icon" href="images/favicon.png"> </head>el app.js es este:
const express = require('express'); const path = require('path'); const methodOverride = require('method-override'); const app = express(); const ejsMate = require('ejs-mate'); app.engine('ejs', ejsMate); app.set('view engine', 'ejs'); app.set('views', path.join(__dirname, 'views')); app.use(express.urlencoded({ extended: true })) app.use(methodOverride('_method')); app.use(express.static(path.join(__dirname, 'public'))) app.get('/', (req, res) => { res.render('index') }); app.get('/localizaciones', (req, res) => { res.render('localizaciones/map') }); app.get('/drawingpad', (req, res) => { res.render('drawingpad/drawing-pad') }); app.get('/finalizar', (req, res) => { res.render('finalizar/finalizar') }); const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Serving on port ${port}`) });mi estructura de carpetas:
Puse index.ejs dentro de las vistas y no hice ninguna diferencia, el CSS no se procesa y cuando en el navegador se escribe manualmente map.ejs, aparece todo el código, no se procesa en absoluto.
La implementación estática simplemente copiando los archivos solo funcionará para una aplicación estática, por ejemplo, la carpeta de compilación de una aplicación React.
Node.js debe estar instalado y el servidor iniciado para que su aplicación funcione. Este tutorial debería ayudarlo cuando haga esto en cpanel.
No estoy seguro de cómo funciona CPanel, pero para mi conocimiento (yo uso la pila MERN) necesita todo el código en un archivo. Por lo tanto, necesita yarn run build o npm run build , que crearán una carpeta de compilación. Luego carga solo esa carpeta y la especifica en su hoster