Javascript 电子邮件中的图像不会与ExpressHandlebar和NodeEmailer一起显示

Javascript 电子邮件中的图像不会与ExpressHandlebar和NodeEmailer一起显示,javascript,node.js,express,handlebars.js,nodemailer,Javascript,Node.js,Express,Handlebars.js,Nodemailer,我目前有一个.handlebar格式的电子邮件模板,这里的图像不会显示在电子邮件中,即使我在firefox中显示.handlebar时,html和css工作得非常好 transporter.use('compile', hbs({ viewEngine: { extName: '.handlebars', partialsDir: viewPath, layoutsDir: viewPath, defaultLayout

我目前有一个.handlebar格式的电子邮件模板,这里的图像不会显示在电子邮件中,即使我在firefox中显示.handlebar时,html和css工作得非常好

transporter.use('compile', hbs({
      viewEngine: {
        extName: '.handlebars',
        partialsDir: viewPath,
        layoutsDir: viewPath,
        defaultLayout: false,
        },
      viewPath:  viewPath,
      extName: '.handlebars',
    }))
我认为问题在于使用NodeEmailer手柄而不是NodeEmailer express手柄,但是当我使用NodeEmailer express手柄时,目录的行为会很奇怪。任何帮助都将不胜感激

编辑:我想使用viewEngine:'express Handlebar',但我会得到错误,没有这样的文件或目录main.handlebar。此外,这些图像位于同一文件夹下,我只使用

编辑2:以下是我的更多代码:

viewPath = path.resolve("./utils/");
    transporter.use('compile', hbs({
      viewEngine: {
        defaultLayout: false,
      },
      // viewEngine: 'express-handlebars',
      viewPath:  viewPath,
    }))
    let mailOptions = {
      from: 'email1Here', //our account
      // to: tutorUser.email,
      to: 'email2Here',
      subject: 'Testing',
      text: 'success. the email works',
      template: 'newEnrolledStudent'
    };
由于电子邮件是在服务器端发送的,所以我还将这些图像放在一个公用文件夹中

Edit3:所以我试着把我的图片放在服务器的一个公共文件夹中,并完成了app.use(express.static(
${{uu dirname}/public
);。我还切换到了一个.ejs nodemailer,但是如果我用一个文件路径链接图像,它们似乎也不会出现,但是如果我使用一个weburl,它工作得很好。任何帮助将不胜感激,如果需要,我可以提供任何澄清