2016-06-26 10 views
6

何らかの理由で、ノードJSで変数をpugテンプレートに渡すことができません。ノードJS変数を翡翠/ Pugに渡す

app.get("/", function (req, res) { 
    res.render('index', { hello : 'Hey'}) 
}) 

....

extends layout.pug 

block content 
    h1 #{hello} guy 

は、これは単に「パグとindex.htmlファイル

+0

あなたはより多くのコードを置くことができる...と多分あなたは、コードを設定する必要がありますか? 'app'とは何ですか? 'layout.pug'には何がありますか? – chharvey

答えて

6

私はあなたがJADEコーディングを使用していると思います(#{こんにちは})で "男" を返します静的な.htmlのプラグイン(完全に間違っています)。 「最初の訪問にテンプレートファイルにエコーより

app.get('/', function (req, res) { 
    res.render('index', { title: 'Hey', message: 'Hello there!'}); 
}); 
  • これを渡しindex.pugより

    1. 使用この最初の

      app.set('views', __dirname + '/public/views'); 
      app.set('view engine', 'pug'); 
      
    2. は、以下の行をたどります"/" public/views "

      html 
          head 
          title= title 
      body 
          h1= message 
      
  • +0

    まだ動作していない、すべてが同じです。 –

    +0

    + は私に app.set(「ビュー」、__dirname +「/公共/ビュー」)を使用して、サーバーのファイルを表示する私にあなたのディレクトリ構造のスナップショットを与えます。app.set( 'ビューエンジン'、 'pug'); app.get( '/'、function(req、res){ res.render( 'index'、{タイトル: 'Hey'、メッセージ: 'Hello there!'}); }); –

    +0

    今すぐ "Express"と言うだけです。https://github.com/jpking72/nodejsfiddle.git –

    -1

    app.get("/", function (req, res) { 
        res.render('index', { 'hello' : 'Hey'}) 
    }) 
    
    +0

    私は元の質問に対する解決策についてはわかりませんが、解決策ではないとは言えません。影響を与える。私は過去にエクスプレスとパグを使用しましたが、この提案は何も変わりません。 オリジナルの質問のユーザーは、テンプレートエンジンを別の方法で配線する必要があります。しかし、私はOPに答えるのに十分なことは思い出さない。 – Ryan

    +0

    これは間違っています。 javascriptのリテラルオブジェクトは引用符付きのキーを持つことができますが、違いはありません。 – chharvey