我想将email-templates package与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
给出同样的错误。是否有人可以帮助我启动并运行电子邮件模板? TNX!
答案 0 :(得分:1)
这是一个非常常见的错误,已在ejs#68上提到过。有关详细信息,请参阅ejs#69中的相关讨论。
快速而又脏的修复方法是将所有必需的代码放在一个文件中。因此,在templates/newsletter内复制主html.ejs / text.ejs文件中页眉/页脚文件中的内容,并删除包含<% include ... %>
答案 1 :(得分:1)
Windows不支持更长的路径,有时会导致no such file or directory
错误。将您的项目放在根目录中的某个位置,例如“C:\ Project”,然后尝试执行您的程序。
由于长路径层次结构,我在过去遇到过类似的错误。