最近、Node.js を使用して Web アプリケーションを開発しているときに、ビュー モジュールが見つからないという一般的なエラーが発生しました。ルーティングとビューのフォルダー パスを正しく設定しているのに、アプリケーションがまだビュー モジュールを見つけられないため、このエラーは私を混乱させます。
一連のデバッグと調査の結果、この問題に対するいくつかの解決策を見つけたので、それを共有します。
Express では、通常、ビュー フォルダーのパスは ./views に設定されます。このフォルダーの名前を変更するか、別の場所に移動すると、ビュー モジュールが見つからないという問題が発生する可能性があります。この場合、ビュー フォルダーのパスがコードで設定されたパスと一致することを確認する必要があります。
たとえば、ビュー フォルダーの名前を「ViewFiles」に変更する場合、app.js またはserver.js ファイル内のビュー フォルダーのパスを次のように設定する必要があります。
app.set('views', path.join(__dirname, 'ViewFiles'));
次の点に注意してください。ここでの __dirname は、現在のファイルが配置されているディレクトリを指します。ビュー フォルダーへのパスが正しく設定されていない場合、Node.js アプリケーションはビュー モジュールを見つけることができません。
ビュー エンジンは、Node.js アプリケーションで使用されるテンプレート エンジンです。ほとんどの Node.js アプリケーションは、EJS、PUG、ハンドルバーなどのビュー エンジンを使用します。ビュー エンジンの使用時にビュー モジュールが見つからないという問題が発生した場合は、ビュー エンジンが正しくインストールされていないことが原因である可能性があります。
EJS エンジンの場合、プロジェクトに ejs 依存関係をインストールする必要があります:
npm install ejs --save
そして、次のコードを app.js または server.js ファイルに追加します:
app.set('view engine', 'ejs');
PUG エンジンの場合、プロジェクトに pug の依存関係をインストールする必要があります:
npm install pug --save
そして、次のコードを app.js または server.js ファイルに追加します:
app.set('view engine', 'pug');
ハンドルバー エンジンの場合、プロジェクトに hbs 依存関係をインストールする必要があります:
npm install hbs --save
そして、次のコードを app.js または server.js ファイルに追加します:
app.set('view engine', 'hbs');
ビュー エンジンが正しくなければ、Node.js アプリケーションはビュー モジュールを見つけることができません。
ビュー ファイルの名前が正しくないか、正しいフォルダーに配置されていない場合、ビュー モジュールが見つからない可能性があります。ファイル名がビュー エンジンと一致していることを確認し、それらを設定されたビュー フォルダーに配置する必要があります。
たとえば、EJS エンジンを使用する場合は、ファイルに「example.ejs」という名前を付け、設定されたビュー フォルダーに配置する必要があります。
そして、ルート内で次のコードを使用してビューをレンダリングします:
res.render('example', { title: 'Example' });
上記のコードの「example」はビュー ファイルの名前を指すことに注意してください。
結論:
View モジュールが見つからないというエラーは、Node.js アプリケーション開発でよくある間違いです。このエラーが発生した場合は、ビュー フォルダーのパス、ビュー エンジンの設定、およびビュー ファイルの名前が正しいことを確認してください。これらの設定が正しく設定されているにもかかわらずビュー モジュールが見つからない場合は、コード内の他の設定を確認する必要がある可能性があります。これらの方法は、この問題の解決に役立ちます。
以上がnodejsがビューモジュールを見つけられませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。