Pour une raison quelconque, je ne peux pas passer une variable au modèle de pug avec Node JS.
app.get("/", function (req, res) {
res.render('index', { hello : 'Hey'} )
})
....
extends layout.pug
block content
h1 #{hello} guy
Cela renvoie simplement "guy" dans le fichier index.html
Je pense que vous utilisez le codage JADE (# {hello}) avec le plugin "pug" (jade mis à jour) avec .html statique - complètement faux.
suivez les lignes ci-dessous:
utiliser ce premier
app.set('views', __dirname + '/public/views');
app.set('view engine', 'pug');
que de passer ceci à la première visite
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!'});
});
que l'écho dans le fichier modèle "index.pug" dans "/ public/views"
html
head
title= title
body
h1= message
Essayez ceci .. fonctionne pour moi.
partie nodejs/index.js
const router = require('express').Router();
router.get('/', (req, res, next) => {
const testObj = {hello: 'Hey'};
res.render('index', { testObj: JSON.stringify(testObj) });
});
partie carlin/jade/(index.pug)
script.
var testObj = !{testObj};
j'utilise pug version: 2.0.3