目前或将来,有可能在同一个文件上合并HTML和Node,就像PHP一样吗?目前我知道我们需要使用模板文件或util.print()
,但对于非常简单的情况,存在其他解决方案,例如......?
<?node var util = require("util"); ?>
<strong>Hello <?node util.print("World"); ?>!</strong>
返回:
<strong>Hello World!</strong>
答案 0 :(得分:2)
Node.js本身不支持开箱即用,但有几个框架(包括流行的Express.js)可以做到。查找Express.js的“模板”,你会看到几个选项,包括EJS(嵌入式JavaScript)和Jade。
答案 1 :(得分:1)
Jade允许您使用-
预先添加代码以在服务器端运行它,所以
-var a = 1;
script.
var a=2;
将在客户端上生成一个名为a
的变量,其值为2,在服务器上的值为1。显然,你也可以做一些非平凡的事情,但作为一个简单的例子,这是我能想到的最接近PHP <? ?>
语法的模拟。
或者像你的比喻一样:
-var W="World";
strong Hello !{W}!
将产生:
<strong>Hello World!</strong>
在浏览器中。
查看语言文档here,尽管作为公平警告,Jade模板只能访问由调用它们的View传递给它们的变量或者在其他模块中显式声明为global的变量(对我来说是最好的)知识)因此在其他地方调用的东西可能无法正确调整范围,并且模板逻辑将在每次加载时运行...
所以是的,虽然你能做到,但我会小心。
答案 2 :(得分:0)
您可以在服务器端汇编和发送HTML,但无法从客户端访问Node。您可能想要阅读Jade / EJS-您最终将变量传递给客户端,您可以访问这些变量来执行PHP风格的逻辑。