环回发送注册邮件时查看引擎报错

View engine error when sending registration email in loopback

我刚刚开始一个使用环回的新项目。我在标准用户模型的基础上新建了一个模型,现在按照教程实现注册登录。

我配置了注册电子邮件并通过 Gmail 发送,但是我在控制台中收到错误消息 -

Error: No default engine was specified and no extension was provided.

本教程使用 ejs 作为出站电子邮件模板,我认为这是环回的默认设置,所以不确定为什么会收到此错误。我已经阅读了一些关于更改为 jade 的帖子,其中讨论了在 server.js 文件中配置 (jade)。

我的问题是 loopback 应该自动获取 ejs 吗?

如果没有,我需要手动配置它是 server.js 这样做的地方,或者它应该是一个配置文件设置,例如config.json.

loopback默认没有设置视图引擎,需要自己设置。配置EJS模板。

由于loopback是基于快递的。所以你需要按照快速方法设置 view engine.

  1. 首先 install EJS 模板。

    $ npm install ejs --save

    同时打开终端转到根文件夹并键入。

    $ mkdir views && mkdir views/static

    此处 views/ 文件夹将是视图的基础文件夹,views/static 将是提供静态文件的基础文件夹 css/js/image etc

  2. 现在在 server/boot/root.js 文件中。注释以下行。

    //var router = server.loopback.Router();

    //router.get('/', server.loopback.status());

    //server.use(router);

  3. 现在将这些行添加到 server/boot/root.js 文件夹

     module.exports = function(server) {
       var loopback = require('loopback');
    
     //Now setting up the static files..
     server.use('/static', loopback.static(__dirname + '/../../views/static'));
    
     // set the view engine to ejs
     server.set('view engine', 'ejs');
    
     //Now set the index page for the  '/' route
     server.get('/', function(req, res) {
       res.render('index', data);
     });
    
    }
    
  4. 现在终于添加一个index.ejs文件到views/加载。