如何插入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 。