2

我想将email-templates 包与 nodemailer 结合使用,但我收到有关模板文件不存在的错误。我已经尝试过绝对路径和相对路径,但都无济于事。最后我决定尝试让这个例子工作,但仍然没有运气。这是我所做的:

下载并解压node-email-templates-master 的zip 文件,然后:

cd node-email-templates-master

npm install

npm install nodemailer@0.3.27

cd examples/nodemailer

node index

我收到与以前相同的错误:

fs.js:338
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory '../header/html.ejs'
    at Object.fs.openSync (fs.js:338:18)
    at fs.readFileSync (fs.js:182:15)
    at Object.exports.parse (/mypath/node-email-templates-master/node_modules/ejs/lib/ejs.js:159:19)
    at exports.compile (/mypath/node-email-templates-master/node_modules/ejs/lib/ejs.js:222:15)
    at Object.exports.render (/mypath/node-email-templates-master/node_modules/ejs/lib/ejs.js:273:10)
    at EmailTemplate.render (/mypath/node-email-templates-master/lib/main.js:63:16)
    at Render.batch (/mypath/node-email-templates-master/examples/nodemailer/index.js:118:9)
    at /mypath/node-email-templates-master/examples/nodemailer/index.js:126:16
    at fs.stat.batchCheck (/mypath/node-email-templates-master/lib/main.js:130:18)

我正在运行节点版本 0.8.12

通过以下方式安装软件包:

npm install email-templates

并执行示例文件:

node node_modules/email-templates/examples/nodemailer/index

给出同样的错误。有没有人可以帮助我启动并运行电子邮件模板?天呐!

4

2 回答 2

1

Windows 不支持更长的路径,有时这会导致no such file or directory错误。将您的项目放在根目录中的某个位置,例如“C:\Project”,然后尝试执行您的程序。

由于长路径层次结构,我过去曾遇到过类似的错误。

于 2012-12-22T15:36:23.590 回答
1

这是一个很常见的错误,已经在ejs#68中提到过。有关更多信息,请参阅ejs#69中的相关讨论。

一个快速而肮脏的修复方法是将所有必需的代码放在一个文件中。因此,在模板/时事通讯中,从主 html.ejs/text.ejs 文件中的页眉/页脚文件中复制内容并删除包含的行<% include ... %>

于 2012-12-16T10:17:14.880 回答