Node JS Pass a Variable to Jade / Pug

前端 未结 2 699
我寻月下人不归
我寻月下人不归 2020-12-16 11:33

For some reason I can\'t pass a variable to the pug template with Node JS.

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


        
相关标签:
2条回答
  • 2020-12-16 12:02

    I think you are using JADE coding (#{hello}) with "pug"(updated jade) plugin with static .html -- completely wrong.

    follow the lines below:

    1. use this first

      app.set('views', __dirname + '/public/views'); app.set('view engine', 'pug');

    2. thEn pass this to first visit

      app.get('/', function (req, res) { res.render('index', { title: 'Hey', message: 'Hello there!'}); });

    3. thEn echo in template file "index.pug" in "/public/views"

      html head title= title body h1= message

    0 讨论(0)
  • 2020-12-16 12:04

    Try this.. works for me.

    nodejs part / index.js

    const router = require('express').Router();
    router.get('/', (req, res, next) => {
        const testObj = {hello: 'Hey'};
        res.render('index', { testObj: JSON.stringify(testObj) });
    });
    

    pug/jade part / (index.pug)

    script.
        var testObj = !{testObj};
    

    i'm using pug version: 2.0.3

    0 讨论(0)
提交回复
热议问题