出于某种原因,我无法使用Node JS将变量传递给pug模板。
app.get("/", function (req, res) {
res.render('index', { hello : 'Hey'} )
})
...
extends layout.pug
block content
h1 #{hello} guy
这只会在index.html文件中返回“guy”
答案 0 :(得分:13)
我认为你正在使用带有静态.html的“pug”(更新的jade)插件的JADE编码(#{hello}) - 完全错误。
按照以下几行:
首先使用
app.set('views', __dirname + '/public/views');
app.set('view engine', 'pug');
将此传递给第一次访问
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!'});
});
比“/ public / views”中的模板文件“index.pug”中的echo
html
head
title= title
body
h1= message
答案 1 :(得分:2)
试试这个..对我有用。
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};
我正在使用 pug 版本:2.0.3