Express + ejs で「include not found」

自社サービスの開発は、Nodejs + Express + EJS でやっています。
メニュー関連を共通化するために include させています。
今回はそこでハマりました。。。orz

ejsの「include not found」って、なによ??

今回ハマったのが、外部ファイルを include したとき、「include not found」ってエラーが発生しました。
最近のマイブームでChatGPTさんに質問をしたところ・・・
C:includeが認識されていない。古いバージョン使ってるなら最新版にしましょう!
く:認識されてないのはエラー見たらわかるし。。。確かにVer2使ってるからあげちゃおか!
ってことで、最新の3.x.xを入れ直しました。
でもって、さぁ〜てとやったところ・・・・同じやん(><)
ChatGPTさんには、よくあることなんで、やられた〜って感じ(^^;

次に、ググってみました。
そしたらそれっぽいのが・・・・

ejsの「include not found」ってなんやったん?

正直な感想を言うと、「include not found」でincludeが見つからないってのは、関係なかったです(^^;
原因としては、ejsにわたす変数名に”client”ってのを使っていたせいでした。

例えばですが、
node側
res.render( 'abc', {
  id : 5,
  client : '123'
});

ejs側

<%= id =>
<%= client =>

この様になっているのが原因でした。
clientをclient01とかに変更すればエラーは解消されたんです。
行ってみればコンパイルエラー?
まぎらわしい。。。

終わりに。。。

原因が判明し、事なきを得たのですが、修正箇所が多い(><)
しかし、英語サイトにはこの減少が散見されたんで、割と一般的なエラーなんかな(^^;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です