Hola chicos, soy nuevo en loopback, ¿alguien puede ayudarme con las siguientes cosas cuando instalamos loopback por defecto tenemos una carpeta de cliente cuando podemos colocar todo nuestro archivo de interfaz ahora coloque todos los archivos html allí y renderice estos archivos html desde el enrutador, por ejemplo; -

var router = server.loopback.Router();
router.get('/', function(req, res) {
res.render('index');
});
router.get('/login', function(req, res) {
res.render('login');
});

Quiero algo como esto, tengo un índice, un archivo html de inicio de sesión en la carpeta del cliente, así que, ¿cómo puedo hacer eso?

0
Rocky 24 feb. 2018 a las 13:56

2 respuestas

La mejor respuesta
  1. Suponiendo que creó su proyecto a través de la CLI de loopback, debería tener un archivo server/boot/root.js.

    'use strict';
    
    module.exports = function(server) {
      // Install a `/` route that returns server status
      var router = server.loopback.Router();
      router.get('/', server.loopback.status());
      server.use(router);
    };
    

    Elimine o cambie la ruta a server.loopback.status() (por ejemplo, router.get('/status', server.loopback.status()).

  2. En server/middleware.json, debería ver una línea cerca de la parte inferior con "files": {},.

    Modifíquelo a lo siguiente:

    "files": {
      "loopback#static": {
        "params": "$!../client"
      }
    },
    
  3. Coloque todos sus archivos estáticos en el directorio client.

Esto es de la documentación de loopback: Agregar una página web estática. Recomendaría revisar todos los Introducción a LoopBack documentación si eres nuevo.

4
Andrew Ferk 25 feb. 2018 a las 17:11

Simplemente publicando la respuesta para que pueda funcionar para las personas para las que la respuesta anterior no funciona, me gustaría sugerir algún otro enfoque que funcionó para mí.

Dentro del archivo server / boot / root.js agregue el siguiente código:

'use strict';
const path = require('path');

module.exports = function(server) {
  // Install a `/` route that returns server status
  const router = server.loopback.Router();
  router.get('/', (req, res, next) => {
    res.sendFile(path.join(__dirname,'./../../client','index.html'));
  });
  server.use(router);
};
0
yesha bhatt 13 may. 2020 a las 19:22