2017-12-13 5 views
0

私はexpressでhtmlページをレンダリングしようとしています。ここで私がこれまで持っているものだ。これまでのエクスプレスでページをレンダリングできないようです

var express = require('express'); 
var app = express(); 

app.use(express.static(__dirname + '/public')); 
app.set('view engine', 'ejs'); 

app.listen(3000, function() { 
    console.log('listening on PORT 3000'); 
}) 

app.get('/', function(req, res){ 
    res.send('Home page!') 
}) 

app.get('/events', function(req, res){ 
    res.render('eventForm') 
}) 

私のファイルツリー:

-Project 
-node_modules 
-public 
    index.html 
-views 
    eventForm.html 

私もpublicでeventForm.htmlを入れてみましたが、何らかの理由で私のサーバーは、「見つける」ことができませんそれ。ビューエンジン

app.set('views', path.join(__dirname, 'views')); 

答えて

1

どう.htmlをとeventFormについて:私は次のエラーを取得しますか?

+0

私はそれを試して、 'path'もインポートしました。何らかの理由で同じエラーが表示されています... 'エラー:ビューディレクトリを参照できませんでした"イベントディレクトリ "/ Users/carlosgrijalva/LearnProgramming/api_playground/stubhub/views" ' – user7496931

+0

あなたのeventForm、htmlをeventForm.ejs Ejsは独自の拡張子を持っています –

+0

Omg ...ありがとうlol – user7496931

1
var express = require('express'); 
var app = express(); 

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

app.listen(3000, function() { 
    console.log('listening on PORT 3000'); 
}) 

app.get('/', function(req, res){ 
    res.send('Home page!') 
}) 

app.get('/events', function(req, res){ 
    res.render('eventForm') 
}) 

app.use(express.static(__dirname + '/public')); 
+0

これは同様にうまくいったのですが、通常は最後に静的ファイルを設定する必要がありますか? – user7496931

+0

はい、そのように設定する必要があります。 –

0

を設定する前に、あなたの意見を設定

​​
関連する問題