如何在环回中呈现 html 页面

how to render html page in loopback

大家好,我是 loopback 的新手,谁能帮我解决以下问题 当我们默认安装环回时,我们有客户端文件夹,当我们可以放置所有前端文件时,现在将所有 html 文件放在那里,并从路由器渲染这些 html 文件,例如 ;-

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

我想要这样的东西我在客户端文件夹中有索引,登录 html 文件所以我该怎么做我做了很多 google 但没有找到任何这样的灵魂

  1. 假设您通过 loopback 的 CLI 创建了项目,您应该有一个 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);
    };
    

    删除路线或将路线更改为 server.loopback.status()(例如 router.get('/status', server.loopback.status()).

  2. server/middleware.json 中,您应该会在底部附近看到一条带有 "files": {}, 的线。

    修改为:

    "files": {
      "loopback#static": {
        "params": "$!../client"
      }
    },
    
  3. 将所有静态文件放入 client 目录。

这是来自 loopback 的文档:Add a static web page. I'd recommend going through all the Getting started with LoopBack 新手文档。

只是发布答案,以便它可能适用于上一个答案适用的人,我想建议一些其他对我有用的方法。

在 server/boot/root.js 文件中添加以下代码:

'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);
};