2017-11-26 13 views
0

ノードjsアプリケーションの環境を設定しています。 しかし、views/ejsファイルはレンダリングされていません。もしそうなら:ノードjsルーティングとejs res.renderは機能しませんがres.sendは

app.get("/", function(req, res){ 

res.send('Something'); 
}); 

これは機能します。しかし、私は(インデックス、EJSファイルを持つ)ない場合:

app.get("/", function(req, res){ 

res.render(index); 
}); 

それは動作しません、私はウェブでcleint側に「インデックスが定義されていないされていない」が、コマンドラインにはエラーが出ます。ここで

はapp.jsです:

var express = require("express"); 
var path = require("path"); 

var app = express(); 
app.set('view engine', 'ejs'); 
app.set('views', path.join(__dirname, 'views')); 

app.use(express.static(path.join(__dirname, 'public'))); 



app.get("/", function(req, res){ 

res.send('Something'); 
}); 

app.get("/", function(req, res){ 

res.render(index); 
}); 


const port = process.env.PORT || 3000 
app.listen(port, function() { 
console.log(`Express is running on port ${port}`) 
}) 

はapp.setパラメータに何か問題があり、または何かが変わりましたか?私は日付がついていないかもしれないチュートリアルに従っていますが、ドキュメントをチェックすると、問題はありません。

ここで何が間違っていますか?ejsでルーティングする新しい方法がありますか?私は部分が今消えたことを知っている。これはEjsファイルがなくなったことを意味しますか?もしそうなら、今はどうやってやろうとしていますか? htmlファイルをレンダリングすることによって?

おかげで

答えて

1

まあ、私は特急のプロではないんだけど、ここであなたは変数のようにそれを書くためにインデックスが定義されていません。このようなものをお試しください。

res.render(path.resolve(__dirname + "/views/index")); 
+0

@Frank ああ、これはレンダリングしました。私はこのhttps://www.youtube.com/watch?v=gnsO8-xJ8rsを見ていることを誓っています。私は投稿したとおり正確に使用しました。それはworks.o0です。ありがとう – ptts

関連する問題