Node.js 谷歌云功能与把手模板和nodeEmailer抛出路径没有找到视图

Node.js 谷歌云功能与把手模板和nodeEmailer抛出路径没有找到视图,node.js,google-cloud-firestore,google-cloud-functions,nodemailer,Node.js,Google Cloud Firestore,Google Cloud Functions,Nodemailer,我试图发送自定义把手模板作为电子邮件模板。只要集合文档中有更新,就会触发电子邮件 const nodemailer = require('nodemailer'); const hbs = require('nodemailer-express-handlebars'); const options = { viewEngine: { extname: '.hbs', layoutsDir: path.resolve(__dirname, 'views/e

我试图发送自定义把手模板作为电子邮件模板。只要集合文档中有更新,就会触发电子邮件

const nodemailer = require('nodemailer');
const hbs = require('nodemailer-express-handlebars');
const options = {
    viewEngine: {
        extname: '.hbs',
        layoutsDir: path.resolve(__dirname, 'views/email/'),
        defaultLayout: 'template',
        partialsDir: path.resolve(__dirname, 'views/partials/')
    },
    viewPath: 'views/email/',
    extName: '.hbs'
};

const mailTransport = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'test@gmail.com',
        pass: 'testpwd',
    },
});

mailTransport.use("compile", hbs(options));
在文档上云函数的
onUpdate
事件中,我编写了以下代码来发送电子邮件

mailTransport.sendMail({
            from: "test@site.in",
            to: `toemail`,
            subject: `Test subject`,
            template: "ordermail",
            context: {
                d: mailData
            }
   },
   (error, response) => {
        // console.log("mail sent to " + to);
        console.log("Error", error);
        mailTransport.close();
    }
);
我在功能目录中的目录结构如下:

 -node_modules
 -views
  |_ -email
     |_ordermail.hbs
     |_template.hbs
  |_ -partials
     |_ -email
        |_ -footer.hbs
        |_ -header.hbs
  -index.js
  -package.json
但它总是抛出一个无法找到视图的错误:

错误:enoint:没有这样的文件或目录,请打开“/user\u code/views/email/ordermail.hbs”

我怀疑在部署功能时,
视图
目录未上载到服务器。我如何确保在运行命令
firebase deploy--only functions
时已上载视图,或者如果默认情况下已上载到functions目录,为什么无法找到该目录?希望能在这方面找到一些帮助

更新

我可以说,当部署功能时,
视图
目录被上传,而当部署中包含
视图
目录时,文件大小增加,但我仍在试图找到上述错误的原因

更新2-结果表明,这只是因为
ordermail
的拼写错误,模板名称是
orderemail
。据此结束这一问题