[解決済み] エラーです。Expressでビューの検索に失敗しました
質問
備考 : 記事末尾の私の自動回答
私はnodeJSのより良い経験を作ろうとしていますし、私は1つのファイルにすべてのスクリプトを取得することは本当に好きではありません。
ということで、こちらの投稿を参考に、このような構成にしてみました。
./
config/
enviroment.js
routes.js
public/
css/
styles.css
images
views
index
index.jade
section
index.jade
layout.jade
app.js
私のファイルは今
app.js
var express = require('express');
var app = module.exports = express.createServer();
require('./config/enviroment.js')(app, express);
require('./config/routes.js')(app);
app.listen(3000);
enviroment.js
module.exports = function(app, express) {
app.configure(function() {
app.use(express.logger());
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
app.set('view engine', 'jade'); //extension of views
});
//development configuration
app.configure('development', function() {
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
//production configuration
app.configure('production', function() {
app.use(express.errorHandler());
});
};
ルーティング.js
module.exports = function(app) {
app.get(['/','/index', '/inicio'], function(req, res) {
res.render('index/index');
});
app.get('/test', function(req, res) {
//res.render('index/index');
});
};
レイアウト.jade
!!! 5
html
head
link(rel='stylesheet', href='/css/style.css')
title Express + Jade
body
#main
h1 Content goes here
#container!= body
インデックス/index.jade
h1 algoa
というエラーが出ます。
エラーです。ビューの検索に失敗しました "index/index" at Function.render (c:╱╱Modules╱Expresslib╱application.js:495:17) at render (c:╱ㅂ╱)╱̑̑̑ グッ ! at ServerResponse.render (c:⽯⽯⽯Node_buses3↩node_modules ⽯表記):638:5) at c:⽯⽯⽯コンフィグ⼭ルート.js:4:7 at callbacks (c:⽯⽯⽯node_modules_express⽯router_index.js:177:11) at param (c: \xampphtdocs﹑node_modules﹑express﹑librouter﹑index.js:151:11) at pass (c:╱ㅂ╱)╱̑̑̑ グッ ! at Router._dispatch (c:╱ㅂ╱)و ̑̑̑ グッ ! at Object.router [as handle] (c:╱ㅂ╱)╱̑̑ グッ ! at next (c:\xamppjsbusesnode_modules_expressnode_modules_connectlib_proto.js:191:15)
でも、何が問題なのかよくわからない......。
モジュールのエクスポートが原因ではないかと思い始めています...。
回答 私が見つけたユニークな解決策は、app.set('views')とviews engineを定義する場所を変更することでした。
私はそれをapp.jsに移動し、現在はうまく動作しています。
var express = require('express');
var app = module.exports = express.createServer();
require('./config/enviroment.js')(app, express);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
require('./config/routes.js')(app);
app.listen(3000);
私はこの背後にあるロジックを本当に理解していないが、私はそれが1つを持っていると仮定します。
どのように解決するのですか?
npm install [email protected]
は以前のバージョンをインストールします。
3.xでビューレイアウトのメカニックが削除されたことは知っていますが、これはあなたの問題ではないかもしれません。また
express.createServer()
を
express()
アップデートする
environment.jsの__dirnameです。
であるべきです。
app.use(express.static(__dirname + '../public'));
関連
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。
-
webpack ENOENTソリューションの起動
-
[解決済み] Node.jsのホスト名/IPが証明書のaltnamesと一致しない
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] ブラウザで動作しているURLで「connect ETIMEDOUT」エラーが発生する原因は何ですか?
-
[解決済み] AWS s3 api error: specified bucket does not exist.
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】mongoError: トポロジーが破壊されました
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] ExpressJS : res.redirect()が期待通りに動作しない?
-
[解決済み] Yarn にパッケージを強制的に再インストールさせるにはどうしたらいいですか?
-
[解決済み] エラーです。Expressでビューの検索に失敗しました
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう