如何插入variables与使用模板?

我是新来的节点/expression(来自PHP),我正在做一些非常简单的事情,我会认为在Node中更容易。

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

<php echo "$var">在我的“index.php”文件中获得一个variables,该文件主要由HTML组成,尽pipe扩展名为。

我知道这不存在,但为什么不是类似的东西

<js-engine output "var">

这里是PHP的等价物。

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

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

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

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

您需要使用模板引擎或类似的让Node的页面不是静态的(只是文本)。

这通常通过模板引擎(如下划线或车把)完成。

这很好,因为您可以将插入的variables合并到具有应用程序path的同一个文件中。

没有模板,你可以结合string:

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

不过,我更喜欢使用模板或者像angular2和node.js这样的前端…有很多值得看的模板 。

不幸的是,你不能像PHP一样使用Node.js。 你需要手动传递你的variables(为html提供内插值 – HTML作为string)或者使用某种模板引擎。

如果您select模板引擎解决scheme,则可以使用例如Pug , Moustache和EJS 。