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

同じエラーを出します。メールテンプレートを起動して実行するのを手伝ってくれる人はいますか?Tnx!

4

2 に答える 2

1

Windowsはより長いパスをサポートしておらず、これによりno such file or directoryエラーが発生する場合があります。プロジェクトをルートのどこかに配置します。たとえば、「C:\ Project」と言ってから、プログラムを実行してみてください。

パス階層が長いため、過去に同様のエラーに直面しました。

于 2012-12-22T15:36:23.590 に答える
1

これは非常に一般的なエラーであり、すでにejs#68で言及されています。詳細については、ejs#69の関連する説明を参照してください。

手っ取り早い修正方法は、必要なすべてのコードを 1 つのファイルに入れることです。したがって、テンプレート/ニュースレター内で、メインの html.ejs/text.ejs ファイル内のヘッダー/フッター ファイルからコンテンツをコピーし、次を含む行を削除します。<% include ... %>

于 2012-12-16T10:17:14.880 に答える