【发布时间】:2018-05-16 10:47:15
【问题描述】:
我要做什么
我有一个 NodeJS 网络服务器,它使用 Express 和 Pug 提供 HTML 和 JavaScript 文件。它看起来像这样:
index.pug
html
head
title Hello
body
h1 Hello World!
script(src='script.js')
app.js
const express = require('express');
var app = express();
app.set('view engine', 'pug');
app.get("/", (req, res) => {
res.render("index", {
age: 91,
name: 'George P. Burdell'
});
});
app.listen(8080);
script.js
var person = {
age: #{age},
name: #{name}
};
(取自并添加到GitHub example)
我希望能够将#{age} 和#{name} 占位符与res.render() 函数中指示的值(即{age: 91, name: 'George P. Burdell'})交换。
问题
截至目前,这些值尚未交换,并且控制台会吐出一个错误,指示带有占位符 #{age} 和 #{name} 的行无法识别。仅当 script.js 中的 JavaScript 代码作为内部脚本引入 .pug 文件时,才会交换占位符值,如下所示:
index.pug
html
head
title Hello
body
h1 Hello World!
script.
var person = {
age: #{age},
name: #{name}
};
但我想要做的是直接从外部脚本文件交换值,例如在初始设置中。除了将代码“活”在 .pug 文件中之外,我没有找到一种简单的方法来做到这一点。
【问题讨论】:
标签: javascript node.js express pug