如何在不使用模板的情况下插入变量?

Posted

技术标签:

【中文标题】如何在不使用模板的情况下插入变量?【英文标题】:How can I interpolate variables with out using a template? 【发布时间】:2017-07-25 12:56:58 【问题描述】:

我是 node / express 的新手(来自 php),我想做一些非常简单的事情,我认为在 Node.js 中会更容易。

例如,在 PHP 中,如果我有一个 index.php 文件,我可以这样做。

<php echo "$var"> 在我的“index.php”文件中获取一个变量,该文件主要由 html 组成,尽管有扩展名。

我知道这不存在,但为什么不类似

<js-engine output "var">

这是 PHP 的等价物。

<!DOCTYPE html>
  <html>
    <base href=<?php echo $dir_base;?> target="_blank">
    <head>

如何在不使用模板的情况下在节点环境中实现同样的效果。我不需要模板的复杂性,从技术上讲,这不是模板,它不会重复。只是一个简单的插值变量以在我的 HTML 中使用。我试过这个tuts+ tut 无济于事。我开始认为这是唯一的方法。

我的文件主要是 HTML,我只是使用下面的代码来发送它。 我需要在文件本身中设置变量。

app.get('/', function(req, res) 
    res.sendfile(path_index_resolved);
);

【问题讨论】:

要么使用模板,要么在将字符串发送回前端之前组合字符串... “在发送到后端之前”如何组合字符串? 【参考方案1】:

没有模板你可以组合字符串:

var myText = '<!DOCTYPE html>';
myText += '<html><base href="'+link+'"> target="_blank"><head>';
// and so on
res.send(myText);

但是,我更喜欢使用模板或像 angular2 这样的前端和 node.js...有 templates in express 值得一看。

【讨论】:

我更新了我的问题。我有一个完整的 HTML 文件,我只需要制作一些部分变量。谢谢。 我已经更新了答案,请查看模板文档。【参考方案2】:

很遗憾,您不能像 PHP 那样使用 Node.js。您需要手动传递变量(使用内插值提供 html - HTML 作为字符串)或使用某种模板引擎。

如果您选择模板引擎解决方案,您可以使用例如Pug、Mustache 和EJS。

【讨论】:

以上是关于如何在不使用模板的情况下插入变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 js 或 html 的情况下摆脱 django 模板变量中的空间和 amp

我们如何在不使用插入子句的情况下插入数据? [关闭]

如何在不插入模型对象的情况下使用它? [复制]

如何在不使用 jquery append 的情况下插入元标记?

如何在不构建字符串的情况下使用 JDBC 进行扩展插入?

如何在不插入的情况下检查 std::map 是不是包含键?